.ai-tutor-bubble{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:0;border-radius:999px;bottom:1.5rem;box-shadow:0 6px 24px #4f46e566;color:#fff;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:.45rem;padding:.65rem 1.1rem;position:fixed;right:1.5rem;transition:transform .12s ease,box-shadow .12s ease;z-index:950}.ai-tutor-bubble:hover{box-shadow:0 10px 28px #4f46e58c;transform:translateY(-2px)}.ai-tutor-bubble:focus-visible{outline:3px solid #fff;outline-offset:2px}.ai-tutor-bubble-icon{font-size:1.15rem}.ai-tutor-bubble-label{letter-spacing:.01em}.ai-tutor-panel{animation:ai-tutor-pop .18s cubic-bezier(.2,.7,.2,1);background:#161628;background:var(--bg-secondary,#161628);border:1px solid #ffffff1f;border-radius:12px;bottom:1rem;box-shadow:0 30px 60px #00000073;color:#e4e4e7;color:var(--text-primary,#e4e4e7);display:flex;flex-direction:column;height:min(85vh,720px);max-width:calc(100vw - 2rem);overflow:hidden;position:fixed;right:1rem;top:auto;width:420px;z-index:960}@keyframes ai-tutor-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:600px){.ai-tutor-panel{height:86vh;left:.5rem;right:.5rem;width:auto}}.ai-tutor-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem .9rem}.ai-tutor-title{font-size:1rem;font-weight:700}.ai-tutor-subtitle{font-size:.78rem;margin-top:.1rem;opacity:.85}.ai-tutor-header-actions{display:inline-flex;gap:.3rem}.ai-tutor-clear,.ai-tutor-close{background:#ffffff26;border:0;border-radius:999px;color:#fff;cursor:pointer;font-size:.9rem;height:28px;line-height:1;width:28px}.ai-tutor-clear:hover,.ai-tutor-close:hover{background:#ffffff47}.ai-tutor-promise{background:#4f46e51f;border-bottom:1px solid #ffffff14;color:#c7d2fe;font-size:.78rem;line-height:1.5;padding:.55rem .9rem}.ai-tutor-body{background:#0f0f23;background:var(--bg-primary,#0f0f23);display:flex;flex:1 1;flex-direction:column;gap:.6rem;overflow-y:auto;padding:.85rem}.ai-tutor-empty{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.86rem;line-height:1.55}.ai-tutor-empty p{margin:0 0 .55rem}.ai-tutor-suggestions{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.ai-tutor-suggestions li{margin:0}.ai-tutor-suggestion{background:#4f46e51a;border:1px solid #4f46e54d;border-radius:8px;color:#c7d2fe;cursor:pointer;display:block;font-family:inherit;font-size:.86rem;line-height:1.4;padding:.5rem .7rem;text-align:left;transition:background .1s ease,border-color .1s ease,transform .1s ease;width:100%}.ai-tutor-suggestion:hover{background:#4f46e533;border-color:#4f46e580;transform:translateY(-1px)}.ai-tutor-suggestion:active{transform:translateY(0)}.ai-tutor-suggestion:focus-visible{outline:2px solid #a5b4fc;outline-offset:2px}.ai-tutor-msg{word-wrap:break-word;border-radius:8px;font-size:.9rem;line-height:1.5;max-width:92%;padding:.5rem .7rem}.ai-tutor-msg p{margin:0 0 .35rem}.ai-tutor-msg p:last-child{margin-bottom:0}.ai-tutor-msg code{background:#ffffff14;border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.84em;padding:.05rem .3rem}.ai-tutor-msg-user{align-self:flex-end;background:#4f46e52e;border:1px solid #4f46e559}.ai-tutor-msg-assistant{align-self:flex-start;background:#ffffff0a;border:1px solid #ffffff14}.tutor-code-fence{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.tutor-code-block,.tutor-code-fence{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.82rem}.tutor-code-block{background:#00000059;border:1px solid #ffffff14;border-radius:5px;line-height:1.45;margin:.4rem 0;overflow-x:auto;padding:.55rem .7rem;white-space:pre}.tutor-code-block code{background:#0000;padding:0}.tutor-list{list-style:disc;margin:.25rem 0;padding-left:1.2rem}.tutor-list li{line-height:1.5;margin:.15rem 0}.tutor-spacer{height:.45rem}.ai-tutor-thinking{align-items:center;display:inline-flex;gap:.25rem;min-width:60px;padding:.7rem}.ai-tutor-dot{animation:ai-tutor-bounce 1.2s ease-in-out infinite;background:#a5b4fc;border-radius:50%;height:7px;width:7px}.ai-tutor-dot:nth-child(2){animation-delay:.15s}.ai-tutor-dot:nth-child(3){animation-delay:.3s}@keyframes ai-tutor-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-tutor-error{background:#ef44441a;border:1px solid #ef444459;border-radius:4px;color:#fca5a5;font-size:.84rem;padding:.45rem .65rem}.ai-tutor-footer{background:#161628;background:var(--bg-secondary,#161628);border-top:1px solid #ffffff14;padding:.65rem .85rem .85rem}.ai-tutor-input{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1f;border-radius:6px;color:inherit;font-family:inherit;font-size:.9rem;line-height:1.4;padding:.5rem .65rem;resize:none;width:100%}.ai-tutor-input:focus{border-color:#4f46e599;box-shadow:0 0 0 2px #4f46e540;outline:0}.ai-tutor-footer-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:.5rem}.ai-tutor-quota-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.76rem}.ai-tutor-send{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.4rem 1rem}.ai-tutor-send:disabled{cursor:not-allowed;opacity:.55}.ai-tutor-quota-block{background:#eab3081a;border:1px solid #eab30866;border-radius:6px;color:#fcd34d;font-size:.88rem;line-height:1.55;padding:.6rem .7rem}.ai-tutor-upgrade-cta{background:linear-gradient(135deg,#16a34a,#15803d);border-radius:8px;box-shadow:0 2px 8px #16a34a59;color:#fff;display:block;font-size:.85rem;font-weight:700;line-height:1.35;margin-top:.65rem;padding:.55rem .9rem;text-align:center;text-decoration:none;transition:transform .1s ease,box-shadow .1s ease}.ai-tutor-upgrade-cta:hover{box-shadow:0 4px 12px #16a34a80;filter:brightness(1.05);transform:translateY(-1px)}.ai-tutor-upgrade-cta-strong{display:block;font-size:.95rem;margin-bottom:.1rem}.ai-tutor-upgrade-cta-sub{display:block;font-size:.78rem;font-weight:600;opacity:.95}.ai-tutor-quota-note{display:block;margin-top:.5rem;opacity:.85}.ai-tutor-inline-btn{align-items:center;background:#4f46e51f;border:1px solid #4f46e566;border-radius:999px;color:#c7d2fe;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.3rem;padding:.32rem .85rem}.ai-tutor-inline-btn:hover{background:#4f46e538;filter:brightness(1.05)}.navbar-notif-btn,.navbar-notifications{align-items:center;display:inline-flex;position:relative}.navbar-notif-btn{background:#0000;border:1px solid #0000;border-radius:8px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;height:34px;justify-content:center;padding:0;transition:all .15s;width:34px}.navbar-notif-btn:hover{background:#ffffff0d;border-color:#2a2f3a;border-color:var(--border-color,#2a2f3a);color:#fff;color:var(--text-primary,#fff)}.navbar-notif-icon{height:18px;width:18px}.navbar-notif-badge{background:#ef4444;border-radius:9px;box-shadow:0 0 0 2px #0f1117;box-shadow:0 0 0 2px var(--bg-color,#0f1117);color:#fff;font-size:.7rem;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:-2px;text-align:center;top:-2px}.navbar-notif-dropdown{background:#161922;background:var(--card-bg,#161922);border:1px solid #2a2f3a;border:1px solid var(--border-color,#2a2f3a);border-radius:10px;box-shadow:0 10px 30px #0006;max-height:480px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);width:340px;z-index:1000}.navbar-notif-header{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:.85rem;font-weight:700;justify-content:space-between;padding:.75rem 1rem}.navbar-notif-header,.navbar-notif-section{border-bottom:1px solid #2a2f3a;border-bottom:1px solid var(--border-color,#2a2f3a)}.navbar-notif-section{padding:.5rem 0}.navbar-notif-section:last-child{border-bottom:none}.navbar-notif-section-title{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.4rem 1rem;text-transform:uppercase}.navbar-notif-item{border-left:3px solid #0000;display:block;padding:.6rem 1rem;transition:background .15s,border-color .15s}.navbar-notif-item,.navbar-notif-item:hover{color:#fff;color:var(--text-primary,#fff);text-decoration:none}.navbar-notif-item:hover{background:#ffffff0a;border-left-color:#38bdf8;border-left-color:var(--primary-color,#38bdf8)}.navbar-notif-item-title{color:#fff;color:var(--text-primary,#fff);font-size:.875rem;font-weight:600;margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-notif-item-meta{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.75rem;gap:.5rem;justify-content:space-between}.navbar-notif-item-class{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-notif-item-progress{color:#9ca3af;color:var(--text-secondary,#9ca3af);flex-shrink:0;font-weight:600}.navbar-notif-item-due{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.72rem;margin-top:.25rem}.navbar-notif-item-due.late{color:#f59e0b;font-weight:600}@media (max-width:600px){.navbar-notif-dropdown{right:-40px;width:290px}}.navbar-notif-dismiss{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;margin-left:auto;opacity:.5;padding:0 .2rem;transition:opacity .15s,color .15s}.navbar-notif-dismiss:hover{color:var(--text-primary);opacity:1}.navbar-notif-item-title{align-items:center;display:flex;gap:.35rem}.navbar-notif-mark-read{background:none;border:none;color:#00b509;color:var(--primary-color,#00b509);cursor:pointer;font-size:.7rem;font-weight:600;margin-left:auto;padding:0;transition:opacity .15s}.navbar-notif-mark-read:hover{opacity:.7}.cspp-setpw-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000c7;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10000}.cspp-setpw-modal{animation:cspp-setpw-fade-in .22s ease;background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 12px 40px #00000080;box-sizing:border-box;max-width:440px;padding:1.75rem 2rem;width:100%}@keyframes cspp-setpw-fade-in{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cspp-setpw-title{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:1.35rem;font-weight:700;margin:0 0 .4rem}.cspp-setpw-subtitle{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.cspp-setpw-subtitle strong{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-weight:600}.cspp-setpw-form{display:flex;flex-direction:column;gap:.9rem}.cspp-setpw-field label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:.35rem;text-transform:uppercase}.cspp-setpw-input-row{align-items:stretch;display:flex;position:relative}.cspp-setpw-field input{background:#121212;background:var(--bg-color,#121212);border:1px solid #ffffff24;border:1px solid var(--border-color,#ffffff24);border-radius:8px;box-sizing:border-box;color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-family:inherit;font-size:.95rem;outline:none;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s;width:100%}.cspp-setpw-field input:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 3px #00b5092e}.cspp-setpw-field input[aria-invalid=true]{border-color:#e74c3c}.cspp-setpw-input-row input{padding-right:3.75rem}.cspp-setpw-toggle{background:#0000;border:0;border-radius:5px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.04em;line-height:1;padding:.35rem .5rem;position:absolute;right:.4rem;text-transform:uppercase;top:50%;transform:translateY(-50%)}.cspp-setpw-toggle:hover{background:#ffffff14}.cspp-setpw-hint{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;line-height:1.4;margin:.3rem 0 0}.cspp-setpw-hint.error{color:#e74c3c}.cspp-setpw-error{background:#e74c3c14;border:1px solid #e74c3c40;border-radius:6px;color:#e74c3c;font-size:.85rem;margin:0;padding:.55rem .75rem}.cspp-setpw-actions{display:flex;gap:.75rem;margin-top:.25rem}.cspp-setpw-submit{background:#00b509;background:var(--primary-color,#00b509);border:0;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.7rem 1rem;transition:background .15s,transform .1s}.cspp-setpw-submit:hover:not(:disabled){background:#009808;background:var(--primary-hover,#009808)}.cspp-setpw-submit:active:not(:disabled){transform:translateY(1px)}.cspp-setpw-submit:disabled{cursor:not-allowed;opacity:.5}.cspp-setpw-footnote{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;margin:.5rem 0 0;opacity:.75;text-align:center}@media (max-width:480px){.cspp-setpw-modal{padding:1.4rem 1.25rem}.cspp-setpw-title{font-size:1.2rem}}.name-prompt-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.name-prompt-modal{animation:namePromptFadeIn .2s ease;background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:420px;padding:1.75rem 2rem;width:100%}@keyframes namePromptFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.name-prompt-title{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.name-prompt-subtitle{color:#aaa;color:var(--text-secondary,#aaa);font-size:.85rem;line-height:1.5;margin:0 0 1.25rem}.name-prompt-form{display:flex;flex-direction:column;gap:1rem}.name-prompt-field label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.35rem;text-transform:uppercase}.name-prompt-field input{background:#121212;background:var(--bg-color,#121212);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-sizing:border-box;color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:.95rem;outline:none;padding:.6rem .75rem;transition:border-color .15s;width:100%}.name-prompt-field input:focus{border-color:#a855f7;border-color:var(--primary-color,#a855f7)}.name-prompt-error{color:#e74c3c;font-size:.8rem;margin:0}.name-prompt-actions{display:flex;gap:.75rem;margin-top:.25rem}.name-prompt-actions .btn{flex:1 1}.name-prompt-checkbox-field label{align-items:flex-start;color:#e0e0e0;color:var(--text-primary,#e0e0e0);cursor:pointer;display:flex;font-size:.85rem;font-weight:400;gap:.55rem;letter-spacing:0;line-height:1.4;margin-bottom:0;text-transform:none}.name-prompt-checkbox-field input[type=checkbox]{accent-color:#a855f7;accent-color:var(--primary-color,#a855f7);cursor:pointer;flex:0 0 auto;margin:.2rem 0 0;padding:0;width:auto}.navbar{background-color:#000;border-bottom:1px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;gap:.75rem;height:56px;margin:0 auto;max-width:1600px;min-width:0;padding:0 2rem}.navbar-brand{color:var(--primary-color)!important;flex-shrink:0;font-size:1.125rem;font-weight:700;letter-spacing:-.3px;text-decoration:none!important;white-space:nowrap}.navbar-brand:hover{color:var(--primary-hover)!important;text-decoration:none!important}.brand-cs{color:var(--primary-color)}.navbar-brand-short{display:none}.navbar-brand-full{display:inline}.navbar-spacer{flex:1 1;min-width:0}.navbar-links{flex-shrink:0;gap:.125rem}.navbar-link,.navbar-links{align-items:center;display:flex}.navbar-link{border-radius:6px;color:var(--text-secondary);font-size:.9rem;font-weight:500;gap:.375rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;white-space:nowrap}.navbar-link:hover{background-color:#ffffff1f;color:var(--text-primary);text-decoration:none}.navbar-link.active{background-color:#00b5091a;color:var(--primary-color)}.nav-icon{flex-shrink:0;font-size:1rem;line-height:1}.nav-icon-exit{display:inline-block;font-size:1.1rem;font-style:normal;font-weight:600;line-height:1;transform:rotate(-45deg)}.navbar-user{align-items:center;border-left:1px solid var(--border-color);display:flex;flex-shrink:0;gap:.625rem;margin-left:.25rem;padding-left:.75rem}.navbar-logout,.navbar-username{color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.navbar-logout{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;gap:.375rem;padding:.35rem .75rem;transition:all .15s}.navbar-logout:hover{border-color:var(--text-secondary);color:var(--text-primary)}.navbar-game-btn{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:1.05rem;justify-content:center;line-height:1;padding:.3rem .4rem;position:relative;text-decoration:none!important;transition:all .15s}.navbar-game-btn:hover{background-color:#ffffff1f;color:var(--text-primary);text-decoration:none!important}.navbar-settings-btn{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:1.05rem;justify-content:center;line-height:1;padding:.3rem .4rem;position:relative;text-decoration:none;transition:all .15s}.navbar-settings-btn:hover{background-color:#ffffff1f;color:var(--text-primary);text-decoration:none}.navbar-settings-btn.active{background-color:#00b5091a;color:var(--primary-color)}.navbar-email-badge{background:#ef4444;border-radius:7px;color:#fff;font-size:.6rem;font-weight:700;height:14px;line-height:14px;min-width:14px;padding:0 3px;pointer-events:none;position:absolute;right:2px;text-align:center;top:2px}.navbar-game-btn:hover:after,.navbar-settings-btn:hover:after{background:#222;border-radius:4px;box-shadow:0 2px 8px #0006;color:#fff;content:attr(title);font-size:.75rem;font-weight:500;left:50%;margin-top:4px;padding:.3rem .6rem;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);white-space:nowrap;z-index:1001}.navbar-guest{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.navbar-btn-login{align-items:center;background:var(--primary-color);border-radius:6px;color:#000!important;display:inline-flex;font-size:.875rem;font-weight:600;padding:.4rem 1rem;text-decoration:none!important;transition:background .15s;white-space:nowrap}.navbar-btn-login:hover{background:var(--primary-hover);text-decoration:none!important}.navbar-hci{border-bottom-color:#6c3fc766}.navbar-course-switcher{border-left:1px solid var(--border-color);margin-left:.25rem;padding-left:.25rem;position:relative}.navbar-course-toggle{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.375rem;padding:.35rem .6rem;transition:all .15s;white-space:nowrap}.navbar-course-toggle:hover{background:#ffffff1f;border-color:var(--border-color);color:var(--text-primary)}.navbar-course-chevron{font-size:.5rem;margin-left:-.1rem;opacity:.6}.navbar-course-dropdown{background:#1a1a1a;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 8px 30px #00000080,0 2px 8px #0000004d;min-width:210px;padding:.35rem;position:absolute;right:0;top:calc(100% + 6px);z-index:1002}.navbar-course-option{align-items:center;border-radius:7px;color:var(--text-secondary);display:flex;gap:.65rem;padding:.6rem .75rem;text-decoration:none!important;transition:all .12s}.navbar-course-option:hover{background:#ffffff1f;color:var(--text-primary);text-decoration:none!important}.navbar-course-option.active{background:#00b50914;color:var(--text-primary)}.navbar-course-option-icon{flex-shrink:0;font-size:1.15rem;line-height:1}.navbar-course-option-text{display:flex;flex:1 1;flex-direction:column;gap:.05rem;min-width:0}.navbar-course-option-label{color:inherit;font-size:.85rem;font-weight:600}.navbar-course-option-desc{color:var(--text-secondary);font-size:.7rem;opacity:.7}.navbar-course-check{color:#00b509;flex-shrink:0;font-size:.75rem;font-weight:700}.navbar-course-divider{background:#ffffff14;height:1px;margin:.25rem .5rem}.navbar-tools-hr{border:0;border-top:1px solid #ffffff14;margin:.35rem .5rem}.navbar-tools-dropdown{display:none;position:relative}.navbar-tools-toggle{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.375rem;padding:.35rem .6rem;transition:all .15s;white-space:nowrap}.navbar-tools-label-text{display:inline}.navbar-tools-toggle:hover{background:#ffffff1f;border-color:var(--border-color);color:var(--text-primary)}.navbar-tools-toggle.has-active{background-color:#00b5091a;color:var(--primary-color)}.navbar-tools-chevron{font-size:.5rem;margin-left:-.1rem;opacity:.6}.navbar-tools-panel{background:#1a1a1a;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 8px 30px #00000080,0 2px 8px #0000004d;left:0;min-width:200px;padding:.35rem;position:absolute;top:calc(100% + 6px);z-index:1002}.navbar-tools-option{align-items:center;border-radius:7px;color:var(--text-secondary);display:flex;gap:.65rem;padding:.55rem .75rem;text-decoration:none!important;transition:all .12s;white-space:nowrap}.navbar-tools-option:hover{background:#ffffff1f;color:var(--text-primary);text-decoration:none!important}.navbar-tools-option.active{background:#00b50914;color:var(--primary-color)}.navbar-tools-option-icon{flex-shrink:0;font-size:1rem;line-height:1}.navbar-tools-option-label{font-size:.85rem;font-weight:500}.navbar-teachers-dropdown{position:relative}.navbar-teachers-toggle{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.375rem;padding:.35rem .6rem;transition:all .15s;white-space:nowrap}.navbar-teachers-toggle:hover{background:#ffffff1f;border-color:var(--border-color);color:var(--text-primary)}.navbar-teachers-toggle.has-active{background-color:#00b5091a;color:var(--primary-color)}.navbar-compact .navbar-brand-full{display:none}.navbar-compact .navbar-brand-short{display:inline}.navbar-tools-collapsed .navbar-tool-link{display:none}.navbar-tools-collapsed .navbar-tools-dropdown{display:flex}.navbar-hci .navbar-tool-link{display:none}.navbar-hci .navbar-tools-dropdown{display:flex}.navbar-all-collapsed .navbar-guest-course-link,.navbar-all-collapsed .navbar-keepvisible-link,.navbar-all-collapsed .navbar-teachers-dropdown .nav-label,.navbar-all-collapsed .navbar-tools-label-text,.navbar-minimal .navbar-course-toggle .nav-label{display:none}@media (max-width:900px){.navbar-tool-link{display:none}.navbar-tools-dropdown{display:flex}}@media (max-width:700px){.navbar-brand-full{display:none}.navbar-brand-short{display:inline}}@media (max-width:640px){.navbar-guest-course-link,.navbar-keepvisible-link,.navbar-teachers-dropdown .nav-label,.navbar-tools-label-text{display:none}.navbar-container{gap:.25rem;padding:0 .75rem}.navbar-username{display:none}.navbar-link{padding:.4rem .5rem}.navbar-link .nav-icon{display:none}.navbar-user{gap:0;padding-left:.5rem}.navbar-notifications~.navbar-game-btn{display:none}}@media (max-width:360px){.navbar-container{gap:.125rem;padding:0 .5rem}.navbar-link{padding:.35rem}.navbar-user{padding-left:.35rem}}.site-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;margin-top:auto;padding:2.5rem 2rem 1.5rem}.footer-ap-disclaimer{color:var(--text-secondary);font-size:.75rem;line-height:1.4;margin-left:auto;margin-right:auto;margin-top:.75rem;max-width:720px;opacity:.75;padding:0 1rem;text-align:center}.footer-brand{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:1.75rem;text-align:center}.footer-columns{grid-gap:1.5rem 2rem;display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(4,1fr);margin:0 auto 1.75rem;max-width:800px}.footer-col{display:flex;flex-direction:column;gap:.4rem}.footer-col-heading{border-bottom:1px solid #00b50933;color:#00b509;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 .5rem;padding-bottom:.4rem;text-transform:uppercase}.footer-col a{color:var(--text-secondary);font-size:.82rem;line-height:1.6;text-decoration:none;transition:color .2s}.footer-col a:hover{color:var(--primary-color)}.footer-apps{border-top:1px solid var(--border-color);margin:0 auto 1.5rem;max-width:900px;padding-top:1.25rem;text-align:center}.footer-apps-heading{color:#00b509;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 .85rem;text-decoration:none;text-transform:uppercase}.footer-apps-heading:hover{text-decoration:underline}.footer-apps-badges{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem 1.25rem;justify-content:center}.footer-apps-app{border-radius:8px;gap:.4rem;padding:.35rem .5rem}.footer-apps-app,.footer-apps-badge{align-items:center;display:inline-flex}.footer-apps-badge{text-decoration:none;transition:opacity .15s ease}.footer-apps-badge:hover{opacity:.85}.footer-apps-icon{border-radius:7px;display:block;flex-shrink:0;height:32px;width:32px}.footer-apps-store-badge{display:block;height:40px;width:auto}.footer-bottom{align-items:center;border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem 1.25rem;justify-content:center;opacity:.6;padding-top:1.25rem;text-align:center}.footer-legal-links{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.25rem}.footer-legal-links a{color:inherit;text-decoration:none}.footer-legal-links a:hover{text-decoration:underline}@media (max-width:640px){.site-footer{padding:2rem 1.25rem 1.25rem}.footer-columns{gap:1.25rem 1.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:380px){.footer-columns{gap:1.25rem;grid-template-columns:1fr}}.home{min-height:calc(100vh - 80px)}.home-csp{--primary-color:#a855f7;--primary-hover:#9333ea}.home-csp .maven-hero{background:linear-gradient(135deg,#2d1854,#120a24)}.home-csp .maven-hero-label{background:#a855f726;border:1px solid #a855f74d;color:#a855f7}.home-csp .maven-hero .hero-brand-pp{color:#00b509}.hero-pricing{align-items:center;display:flex;flex-wrap:wrap;font-size:1rem;gap:.5rem;justify-content:center;margin-bottom:2rem;opacity:.92}.hero-pricing-trial{color:var(--primary-color);font-weight:600}.hero-pricing-divider{opacity:.5}.hero-pricing-full{color:#ffffffd9}.hero-pricing-full strong{color:#fff;font-weight:700}.hero-playground-cta{display:flex;justify-content:center;margin-top:1.5rem}.hero-playground-link{align-items:center;background:#ffffff12;border:1px solid #38bdf873;border-radius:12px;color:#fff;display:inline-flex;gap:.85rem;padding:.85rem 1.4rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .15s ease}.hero-playground-link:hover{background:#38bdf826;border-color:#38bdf8d9;color:#fff;text-decoration:none;transform:translateY(-1px)}.hero-playground-icon{font-size:1.6rem;line-height:1}.hero-playground-text{display:flex;flex-direction:column;text-align:left}.hero-playground-text strong{color:#38bdf8;font-size:1rem;font-weight:700}.hero-playground-text small{color:#ffffffb3;font-size:.82rem;margin-top:.15rem}.stats-bar{background:linear-gradient(180deg,#004d040f 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:3rem 2rem}.home-csp .stats-bar{background:linear-gradient(180deg,#a855f70f 0,var(--bg-color) 100%)}.stats-bar-inner{flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:1100px}.stat-item,.stats-bar-inner{align-items:center;display:flex}.stat-item{flex-direction:column;gap:.35rem;min-width:80px}.stat-number{color:var(--primary-color);font-size:2.25rem;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.stat-divider{background:var(--border-color);flex-shrink:0;height:2.5rem;width:1px}.course-preview{margin:0 auto;max-width:1200px;padding:5rem 2rem}.course-preview h2{color:var(--text-primary);font-size:2.5rem;margin-bottom:.75rem;text-align:center}.section-subtitle{color:var(--text-secondary);font-size:1.125rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.units-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.unit-preview-card{align-items:flex-start;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s}.unit-preview-card:hover{border-color:var(--primary-color);transform:translateX(4px)}.unit-icon{flex-shrink:0;font-size:1.75rem;margin-top:.125rem}.unit-info{flex:1 1;min-width:0}.unit-number{color:var(--primary-color);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.unit-info h3{color:var(--text-primary);font-size:1.125rem;line-height:1.3;margin-bottom:.25rem}.unit-info p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.features{margin:0 auto;max-width:1400px;padding:5rem 2rem}.features h2{color:var(--text-primary);font-size:2.5rem;margin-bottom:.75rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);padding:2rem;text-align:center;transition:all .3s}.feature-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.feature-preview{margin-top:1.5rem;text-align:left}.mock-video{background:#0a0a0a;border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:2rem 1.5rem}.mock-play-btn,.mock-video{align-items:center;display:flex}.mock-play-btn{background:var(--primary-color);border-radius:50%;color:#fff;font-size:1.25rem;height:48px;justify-content:center;width:48px}.mock-video span{color:var(--text-secondary);font-size:.875rem}.mock-quiz{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.mock-question{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:.75rem}.mock-options{display:flex;flex-direction:column;gap:.375rem}.mock-option{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;padding:.5rem .75rem}.mock-option.correct{background:#052e16;border-color:var(--success-color);color:var(--success-color);font-weight:600}.mock-flashcard{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:120px;padding:1.75rem 1.25rem;position:relative;text-align:center}.mock-fc-label{color:var(--text-secondary);font-size:.625rem;font-weight:600;left:1rem;letter-spacing:.15em;position:absolute;text-transform:uppercase;top:.75rem}.mock-fc-text{color:var(--text-primary);font-size:.9375rem;line-height:1.5;max-width:250px}.mock-fc-hint{bottom:.75rem;color:var(--text-secondary);font-size:.75rem;opacity:.6;position:absolute}.mock-exam{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.625rem;padding:1.25rem}.mock-exam-timer{font-feature-settings:"tnum";color:var(--primary-color);font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700}.mock-exam-progress{color:var(--text-secondary);font-size:.875rem}.ap-exam-cta{align-items:center;background:linear-gradient(135deg,#00b5090f,#004d041f);border-bottom:1px solid var(--border-color);border-top:1px solid #00b50933;display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;max-width:100%;padding:2.5rem 2rem;text-align:left}.home-csp .ap-exam-cta{background:linear-gradient(135deg,#a855f70f,#581c871f);border-top:1px solid #a855f733}.ap-cta-content{display:flex;flex-direction:column;gap:.5rem;max-width:580px}.ap-cta-badge{background:var(--primary-color);border-radius:4px;color:#000;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:.25rem .65rem;text-transform:uppercase;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.ap-cta-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.3;margin:0}.ap-exam-cta p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.ap-exam-cta p strong{color:var(--primary-color);font-weight:700}.btn-cta-register{flex-shrink:0;font-size:1rem!important;font-weight:600!important;padding:.85rem 2rem!important;white-space:nowrap}.mock-blocks{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.375rem;padding:1rem}.mock-block{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8125rem;padding:.5rem .75rem}.mock-block.mock-nested{margin-left:1.25rem}.unit-final:hover{border-color:var(--primary-color)!important}.dashboard-mockup-section{background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-color) 100%);padding:4.5rem 2rem;text-align:center}.dashboard-mockup-section h2{color:var(--text-primary);font-size:2.25rem;font-weight:800;margin-bottom:.75rem}.dashboard-mockup-section .section-subtitle{color:var(--text-secondary);margin-bottom:2.5rem}.dashboard-mockup-frame{background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 25px 50px -12px #00000073,0 0 0 1px #ffffff0a;margin:0 auto;max-width:880px;overflow:hidden;text-align:left}.dashboard-mockup-chrome{align-items:center;background:#00000059;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;padding:.65rem 1rem}.dashboard-mockup-chrome-dot{border-radius:50%;display:inline-block;height:11px;width:11px}.dashboard-mockup-chrome-dot.red{background:#ff5f57}.dashboard-mockup-chrome-dot.yellow{background:#febc2e}.dashboard-mockup-chrome-dot.green{background:#28c840}.dashboard-mockup-url{color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.75rem;margin-left:.75rem}.dashboard-mockup-body{padding:1.5rem 1.75rem 1.75rem}.dashboard-mockup-hero{background:linear-gradient(135deg,#a855f71f,#a855f705);border:1px solid #a855f740;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.dashboard-mockup-hero.mockup-hero-csa{background:linear-gradient(135deg,#22c55e1f,#22c55e05);border-color:#22c55e40}.dashboard-mockup-hero.mockup-hero-hci{background:linear-gradient(135deg,#06b6d41f,#06b6d405);border-color:#06b6d440}.dashboard-mockup-badge{align-self:flex-start;background:#a855f733;border-radius:999px;color:#d8b4fe;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:.25rem .65rem;text-transform:uppercase}.dashboard-mockup-hero.mockup-hero-csa .dashboard-mockup-badge{background:#22c55e33;color:#86efac}.dashboard-mockup-hero.mockup-hero-hci .dashboard-mockup-badge{background:#06b6d433;color:#67e8f9}.dashboard-mockup-greeting{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0}.dashboard-mockup-progress-row{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between}.dashboard-mockup-progress-percent{color:var(--text-primary);font-size:1.5rem;font-weight:800}.dashboard-mockup-progress-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.dashboard-mockup-progress-fill{background:linear-gradient(90deg,#a855f7,#c084fc);border-radius:999px;height:100%}.mockup-hero-csa .dashboard-mockup-progress-fill{background:linear-gradient(90deg,#16a34a,#22c55e)}.mockup-hero-hci .dashboard-mockup-progress-fill{background:linear-gradient(90deg,#0891b2,#06b6d4)}.dashboard-mockup-continue{align-self:flex-start;color:#d8b4fe;font-size:.85rem;font-weight:600}.mockup-hero-csa .dashboard-mockup-continue{color:#86efac}.mockup-hero-hci .dashboard-mockup-continue{color:#67e8f9}.dashboard-mockup-units{display:flex;flex-direction:column;gap:.45rem}.dashboard-mockup-unit{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.dashboard-mockup-unit-header{align-items:center;display:flex;gap:.7rem;padding:.65rem .85rem}.dashboard-mockup-chevron{color:var(--text-secondary);font-size:.7rem;text-align:center;transition:transform .15s;width:10px}.dashboard-mockup-unit.expanded .dashboard-mockup-chevron{transform:rotate(90deg)}.dashboard-mockup-unit-icon{font-size:1.05rem}.dashboard-mockup-unit-title{color:var(--text-primary);flex:1 1;font-size:.88rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-mockup-unit-meta{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.dashboard-mockup-unit-bar{background:#ffffff14;border-radius:999px;flex-shrink:0;height:5px;overflow:hidden;width:60px}.dashboard-mockup-unit-fill{background:#a855f7;height:100%;transition:width .2s}.dashboard-mockup-unit.theme-csa .dashboard-mockup-lesson-overview,.dashboard-mockup-unit.theme-csa .dashboard-mockup-lesson.completed .dashboard-mockup-lesson-status,.dashboard-mockup-unit.theme-csa .dashboard-mockup-unit-fill{color:#22c55e}.dashboard-mockup-unit.theme-csa .dashboard-mockup-unit-fill{background:#22c55e}.dashboard-mockup-unit.theme-csa .dashboard-mockup-lesson-overview{background:#22c55e14;border-left-color:#22c55e}.dashboard-mockup-unit.theme-hci .dashboard-mockup-unit-fill{background:#06b6d4}.dashboard-mockup-unit.theme-hci .dashboard-mockup-lesson-overview,.dashboard-mockup-unit.theme-hci .dashboard-mockup-lesson.completed .dashboard-mockup-lesson-status{color:#06b6d4}.dashboard-mockup-unit.theme-hci .dashboard-mockup-lesson-overview{background:#06b6d414;border-left-color:#06b6d4}.dashboard-mockup-unit.theme-csp .dashboard-mockup-lesson-overview,.dashboard-mockup-unit.theme-csp .dashboard-mockup-lesson.completed .dashboard-mockup-lesson-status{color:#a855f7}.dashboard-mockup-unit.theme-csp .dashboard-mockup-lesson-overview{background:#a855f714;border-left-color:#a855f7}.dashboard-mockup-unit-check{color:var(--success-color);font-size:.85rem;font-weight:800}.dashboard-mockup-unit-lessons{border-top:1px dashed #ffffff0f;display:flex;flex-direction:column;gap:.15rem;padding:.5rem .85rem .65rem 1.75rem}.dashboard-mockup-lesson{align-items:center;border-radius:6px;color:var(--text-primary);display:flex;font-size:.82rem;gap:.55rem;padding:.4rem .55rem}.dashboard-mockup-lesson-status{color:var(--text-secondary);font-size:.72rem;font-weight:700;min-width:16px;text-align:center;width:16px}.dashboard-mockup-lesson-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-mockup-lesson.completed .dashboard-mockup-lesson-title{color:var(--text-secondary)}.dashboard-mockup-lesson.in-progress{background:#f59e0b24;border-left:3px solid #f59e0b;padding-left:calc(.55rem - 3px)}.dashboard-mockup-lesson.in-progress .dashboard-mockup-lesson-status{color:#f59e0b}.dashboard-mockup-lesson.in-progress .dashboard-mockup-lesson-title{color:var(--text-primary);font-weight:600}.dashboard-mockup-lesson-overview{background:#a855f714;border-left:3px solid #a855f7;font-weight:600;margin-bottom:.2rem;padding-left:calc(.55rem - 3px)}.dashboard-mockup-lesson-pill{background:#f59e0b2e;border-radius:999px;color:#f59e0b;font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:.12rem .45rem;text-transform:uppercase}@media (max-width:600px){.dashboard-mockup-body{padding:1rem}.dashboard-mockup-unit-meta{display:none}.dashboard-mockup-unit-bar{width:40px}.dashboard-mockup-unit-lessons{padding-left:1rem}.dashboard-mockup-lesson-pill{display:none}}.pricing-section{background:var(--bg-color);padding:5rem 2rem;text-align:center}.pricing-section h2{color:var(--text-primary);font-size:2.25rem;font-weight:800;margin-bottom:.75rem}.pricing-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:3rem auto 0;max-width:800px}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;gap:1rem;padding:2rem 1.75rem;text-align:left}.pricing-card.pricing-featured{background:#00b5090a;border-color:var(--primary-color);position:relative}.home-csp .pricing-card.pricing-featured{background:#a855f70a}.pricing-badge{color:var(--primary-color);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pricing-price{align-items:baseline;display:flex;gap:.5rem}.price-amount{color:var(--text-primary);font-size:2.5rem;font-weight:800}.price-period{color:var(--text-secondary);font-size:.875rem}.pricing-desc{color:var(--text-secondary);font-size:.925rem;line-height:1.5}.pricing-features{display:flex;flex:1 1;flex-direction:column;gap:.5rem;list-style:none}.pricing-features li{color:var(--text-primary);font-size:.9rem}.cta{background:linear-gradient(135deg,#004d04,#001a01);color:#fff;padding:5rem 2rem;text-align:center}.home-csp .cta{background:linear-gradient(135deg,#2d1854,#120a24)}.cta h2{font-size:2.5rem;margin-bottom:1rem}.cta p{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.cta .btn-primary{background-color:var(--primary-color);color:#fff}.cta .btn-primary:hover{background-color:var(--primary-hover);color:#fff}.hci-hero{background:linear-gradient(135deg,#0a1e2e,#081520 60%,#0d1a24)!important}.hci-hero-label{background:#06b6d426!important;border-color:#06b6d44d!important}.hci-hero-label,.hci-unit-number{color:#06b6d4!important}.hci-course-switch{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem;justify-content:center;margin-top:1.75rem;opacity:.75}.hci-course-switch a{color:#22d3ee;font-weight:600;text-decoration:none}.hci-course-switch a:hover{color:#67e8f9;text-decoration:underline}.also-btn-green{background:#0000!important;border-color:#22c55e!important;color:#22c55e!important}.also-btn-green:hover{background:#22c55e1f!important;border-color:#4ade80!important;color:#4ade80!important;text-decoration:none!important}.also-btn-purple{background:#0000!important;border-color:#a78bfa!important;color:#a78bfa!important}.also-btn-purple:hover{background:#a78bfa1f!important;border-color:#c4b5fd!important;color:#c4b5fd!important;text-decoration:none!important}.also-btn-cyan{background:#0000!important;border-color:#06b6d4!important;color:#06b6d4!important}.also-btn-cyan:hover{background:#06b6d41f!important;border-color:#22d3ee!important;color:#22d3ee!important;text-decoration:none!important}.hci-pricing-featured{background:#06b6d40a!important;border-color:#06b6d466!important;box-shadow:0 0 30px #06b6d414!important}.hci-pricing-badge{color:#06b6d4!important}.hci-btn-primary{background-color:#06b6d4!important;border-color:#06b6d4!important;color:#0f172a!important}.hci-btn-primary:hover{background-color:#0891b2!important;border-color:#0891b2!important;color:#0f172a!important}.hci-hero .hero-pricing-trial{color:#22d3ee}.hci-cta{background:linear-gradient(135deg,#0a1e2e,#081520 60%,#0d1a24)}.hci-cta-switch{font-size:.9rem;margin-top:1.5rem;opacity:.75}.hci-cta-switch a{color:#ffffffd9;text-decoration:none}.hci-cta-switch a:hover{color:#fff;text-decoration:underline}.csa-hero{background:linear-gradient(135deg,#062a06,#0a130a 60%,#0d1a0d)!important}.csa-hero-label{background:#00b50926!important;border-color:#00b5094d!important}.csa-hero-label,.csa-unit-number{color:#00b509!important}.csa-btn-primary{background-color:#00b509!important;border-color:#00b509!important;color:#fff!important}.csa-btn-primary:hover{background-color:#00a008!important;border-color:#00a008!important;color:#fff!important}.csa-pricing-featured{border-color:#00b50966!important;box-shadow:0 0 30px #00b50914!important}.csa-pricing-badge{background:#00b50926!important;border:1px solid #00b5094d!important;color:#00b509!important}.csa-cta{background:linear-gradient(135deg,#062a06,#0a130a 60%,#0d1a0d)}@media (max-width:768px){.stats-bar{padding:2rem 1rem}.stats-bar-inner{gap:1.25rem}.stat-number{font-size:1.75rem}.stat-label{font-size:.7rem}.stat-divider{display:none}.ap-exam-cta{gap:1.25rem;padding:2rem 1.5rem;text-align:center}.ap-cta-content{align-items:center}.btn-cta-register{width:100%}.course-preview{padding:3rem 1rem}.course-preview h2{font-size:2rem}.units-grid{grid-template-columns:1fr}.features{padding:3rem 1rem}.features h2{font-size:2rem}.features-grid{grid-template-columns:1fr}.ap-exam-cta{flex-direction:column;gap:.75rem;padding:1.25rem 1rem}.cta{padding:3rem 1rem}.cta h2{font-size:2rem}}.dashboard{--dashboard-accent:#a855f7;--dashboard-accent-rgb:168,85,247;margin:0 auto;max-width:1600px;padding:3rem 2rem}.dashboard-hero{background:linear-gradient(180deg,rgba(var(--dashboard-accent-rgb),.14) 0,rgba(var(--dashboard-accent-rgb),.05) 60%,#00000026 100%);border:1px solid rgba(var(--dashboard-accent-rgb),.15);border-radius:16px;padding:2rem 2rem 1.5rem;position:relative}.dashboard-header,.dashboard-hero{margin-bottom:1.25rem}.dashboard-hero-progress{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.dashboard-hero-progress-info{align-items:baseline;display:flex;flex-shrink:0;gap:.5rem}.dashboard-hero-label{color:var(--text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dashboard-hero-percent{color:var(--primary-color);color:var(--dashboard-accent,var(--primary-color));font-size:1.1rem;font-weight:700}.dashboard-hero-bar{background:#ffffff0f;flex:1 1;height:10px;min-width:120px}.dashboard-hero-bar,.dashboard-hero-fill{border-radius:999px;overflow:hidden;position:relative}.dashboard-hero-fill{animation:heroPulse 3s ease-in-out infinite;background:linear-gradient(90deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 70%,#fff));background:linear-gradient(90deg,var(--dashboard-accent,var(--primary-color)),color-mix(in srgb,var(--dashboard-accent,var(--primary-color)) 70%,#fff));box-shadow:0 0 12px rgba(var(--dashboard-accent-rgb),.4),0 0 20px rgba(var(--dashboard-accent-rgb),.15);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.dashboard-hero-fill:after{animation:heroShimmer 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff14 25%,#ffffff4d 50%,#ffffff14 75%,#0000);border-radius:999px;content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes heroShimmer{0%{left:-100%}to{left:100%}}@keyframes heroPulse{0%,to{box-shadow:0 0 12px rgba(var(--dashboard-accent-rgb),.4),0 0 20px rgba(var(--dashboard-accent-rgb),.15)}50%{box-shadow:0 0 18px rgba(var(--dashboard-accent-rgb),.6),0 0 30px rgba(var(--dashboard-accent-rgb),.25)}}.dashboard-hero-continue{align-items:center;background:var(--primary-color);background:var(--dashboard-accent,var(--primary-color));border-radius:8px;color:#000;display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:600;gap:.25rem;padding:.45rem 1rem;text-decoration:none;transition:opacity .15s;white-space:nowrap}.dashboard-hero-continue:hover{color:#000;opacity:.85;text-decoration:none}@media (max-width:640px){.dashboard-hero{padding:1.25rem 1.25rem 1rem}.dashboard-hero-progress{align-items:stretch;flex-direction:column;gap:.5rem}.dashboard-hero-continue{justify-content:center;width:100%}}.dashboard-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.csp-course-badge{align-items:center;background:linear-gradient(135deg,#1a0d2e,#0f0a1a);border:1px solid #a855f74d;border-radius:20px;color:#a855f7;display:inline-flex;font-size:.8125rem;font-weight:700;gap:.375rem;letter-spacing:.06em;padding:.35rem .9rem;text-transform:uppercase}.dashboard-course-switch-link{border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.35rem .75rem;text-decoration:none;transition:all .15s;white-space:nowrap}.dashboard-course-switch-link:hover{border-color:var(--text-secondary);color:var(--text-primary);text-decoration:none}.dashboard-header h1{color:var(--text-primary);font-size:2.5rem;margin-bottom:.5rem}.dashboard-header p{color:var(--text-secondary);font-size:1.125rem}.dashboard-hero-myclasses{align-items:center;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:8px;color:#f59e0b;display:inline-flex;font-size:.9rem;font-weight:600;gap:.35rem;margin-top:.25rem;padding:.45rem 1rem;text-decoration:none;transition:all .15s}.dashboard-hero-myclasses:hover{background:#f59e0b40;border-color:#f59e0b80;color:#fbbf24;text-decoration:none}.dashboard-hero-teacher{background:#14b8a626;border-color:#14b8a659;color:#14b8a6}.dashboard-hero-teacher:hover{background:#14b8a640;border-color:#14b8a680;color:#2dd4bf}.dashboard-hero-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.dashboard-hero-links .dashboard-hero-myclasses{margin-top:0}@media (max-width:600px){.dashboard-header-top{align-items:flex-start;flex-direction:column}.dashboard-course-switch-link{text-align:center;width:100%}}.membership-banner{align-items:center;background:linear-gradient(135deg,#1a0d2e,#0f0a1a);border:1px solid #a855f74d;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:2rem;padding:1.25rem 1.75rem}.membership-banner-text{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.membership-banner-icon{flex-shrink:0;font-size:1.5rem}.membership-banner-text div{color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.membership-banner-text strong{color:var(--text-primary)}.membership-banner-btn{flex-shrink:0;font-size:.9375rem;padding:.6rem 1.25rem;white-space:nowrap}@media (max-width:600px){.membership-banner{align-items:flex-start;flex-direction:column}.membership-banner-btn{text-align:center;width:100%}}.membership-compare{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.membership-compare-col{border-radius:12px;display:flex;flex-direction:column;padding:1.5rem}.membership-compare-free{background:#ffffff08;border:1px solid #ffffff14}.membership-compare-paid{background:linear-gradient(135deg,#1a0d2e,#0f0a1a);border:1px solid #a855f74d}.membership-compare-header{margin-bottom:1rem}.membership-compare-header h3{color:var(--text-primary);font-size:1.2rem;margin:.5rem 0 0}.membership-compare-badge{background:#ffffff0f;border-radius:6px;color:var(--text-secondary);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase}.membership-compare-badge-pro{background:#a855f71f;color:#a855f7}.membership-compare-list{display:flex;flex:1 1;flex-direction:column;gap:.55rem;list-style:none;margin:0 0 1rem;padding:0}.membership-compare-list li{color:var(--text-secondary);font-size:.9rem;line-height:1.4;padding-left:1.4rem;position:relative}.membership-compare-free .membership-compare-list li:before{color:var(--text-secondary);content:"✓";left:0;position:absolute}.membership-compare-paid .membership-compare-list li:before{color:#a855f7;content:"✓";left:0;position:absolute}.membership-compare-paid .membership-compare-list li strong{color:var(--text-primary);font-weight:600}.membership-compare-btn{font-size:.9375rem;margin-top:auto;padding:.7rem 1.25rem;text-align:center;width:100%}@media (max-width:600px){.membership-compare{grid-template-columns:1fr}}.course-overview{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);display:flex;gap:2rem;margin-bottom:2.5rem;padding:2rem}.overall-progress{flex:1 1}.overall-progress-info{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.75rem}.overall-label{color:var(--text-primary);font-size:1.125rem;font-weight:600}.overall-percent{color:var(--primary-color);color:var(--dashboard-accent,var(--primary-color));font-size:1.5rem;font-weight:700}.progress-bar-lg{height:12px}.continue-btn{flex-shrink:0;white-space:nowrap}.modules-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.module-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);color:inherit;display:flex;flex-direction:column;padding:2rem;text-decoration:none;transition:all .3s}.module-card:hover{border-color:var(--dashboard-accent,var(--primary-color));box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-4px)}.module-card .module-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.module-title-row{align-items:flex-start;display:flex;flex:1 1;gap:.625rem}.module-icon{flex-shrink:0;font-size:1.5rem;line-height:1.2;margin-top:.1rem}.module-header-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.module-card h2{color:var(--text-primary);flex:1 1;font-size:1.25rem;line-height:1.3;margin-bottom:0}.module-card .module-duration{background-color:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.module-complete-badge{align-items:center;background-color:var(--primary-color);background-color:var(--dashboard-accent,var(--primary-color));border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.375rem;justify-content:center;width:1.375rem}.module-card-complete{border-color:#a855f740}.module-card-complete .progress-fill{background-color:var(--primary-color);background-color:var(--dashboard-accent,var(--primary-color))}.module-card .module-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem;min-height:4.8rem}.read-more-btn{color:var(--primary-color);color:var(--dashboard-accent,var(--primary-color));cursor:pointer;font-size:.875rem;white-space:nowrap}.read-more-btn:hover{text-decoration:underline}.module-progress{margin-top:auto}.progress-bar{background-color:var(--bg-secondary);border-radius:10px;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background-color:var(--primary-color);background-color:var(--dashboard-accent,var(--primary-color));border-radius:10px;height:100%;transition:width .3s}.progress-text{color:var(--text-secondary);font-size:.875rem;font-weight:500}.module-progress-footer{align-items:center;display:flex;justify-content:space-between}.module-time-remaining{font-size:.8125rem}.module-time-remaining,.overall-time-remaining{color:var(--primary-color);color:var(--dashboard-accent,var(--primary-color));font-weight:500}.overall-time-remaining{font-size:.9375rem;margin-top:.75rem}.module-card-exam:hover{border-color:var(--dashboard-accent,var(--primary-color))!important}.exam-card-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:1.5rem;margin-top:1.25rem;padding-top:1rem}.exam-card-stat{color:var(--text-secondary);font-size:.875rem;font-weight:500}.exam-card-cta{color:var(--primary-color);font-size:.9rem;font-weight:700;margin-left:auto}@media (max-width:768px){.dashboard{padding:2rem 1rem}.dashboard-header h1{font-size:2rem}.course-overview{align-items:stretch;flex-direction:column;gap:1.5rem;padding:1.5rem}.continue-btn{text-align:center}.modules-grid{gap:1.5rem;grid-template-columns:1fr}.module-card{padding:1.5rem}.exam-card-footer{flex-wrap:wrap;gap:.5rem}}.course-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem;width:-webkit-fit-content;width:fit-content}.course-toggle-label{color:var(--text-secondary);font-size:.7rem;margin-right:.15rem;opacity:.6;white-space:nowrap}.course-toggle-pill{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:.75rem;font-weight:500;opacity:.7;padding:.2rem .5rem;position:relative;text-decoration:none;transition:all .15s}.course-toggle-pill:hover{color:var(--text-primary);opacity:1;text-decoration:underline}.course-toggle-pill.active-csa,.course-toggle-pill.active-csp,.course-toggle-pill.active-hci{display:none}.course-overview-sleek{align-items:center;background:#12131a;background:var(--card-bg,#12131a);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem!important;padding:.85rem 1.15rem!important}.course-overview-sleek .overall-progress{background:#0000!important;border:none!important;flex:1 1;margin:0!important;min-width:200px;padding:0!important}.course-overview-sleek .overall-progress-info{align-items:baseline;display:flex;gap:.75rem;margin-bottom:.45rem!important;padding:0!important}.course-overview-sleek .overall-label{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.85rem!important;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.course-overview-sleek .overall-percent{color:#00b509;color:var(--primary-color,#00b509);font-size:1.05rem!important;font-weight:700;margin-left:auto}.overall-time-remaining-inline{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.75rem;font-weight:500;margin-left:.5rem}.course-overview-sleek .progress-bar-sleek{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.course-overview-sleek .progress-bar-sleek .progress-fill{background:linear-gradient(90deg,#00b509,#009408);background:linear-gradient(90deg,var(--primary-color,#00b509),var(--primary-hover,#009408));border-radius:999px;height:100%;transition:width .35s ease}.continue-btn-sleek{border-radius:8px!important;flex-shrink:0;font-size:.9rem!important;padding:.6rem 1.2rem!important;white-space:nowrap}@media (max-width:640px){.course-overview-sleek{align-items:stretch;flex-direction:column}.continue-btn-sleek{text-align:center;width:100%}}.csa-dashboard{--dashboard-accent:#00b509;--dashboard-accent-rgb:0,181,9}.csa-dashboard .membership-compare-paid{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d}.csa-dashboard .membership-compare-badge-pro{background:#00b5091f;color:#00b509}.csa-dashboard .membership-compare-paid .membership-compare-list li:before{color:#00b509}.csa-dashboard .module-card-complete{border-color:#00b50940}.csa-course-badge{align-items:center;background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:20px;color:var(--primary-color);display:inline-flex;font-size:.8125rem;font-weight:700;gap:.375rem;letter-spacing:.06em;padding:.35rem .9rem;text-transform:uppercase}.csa-view-toggle{border:1px solid var(--border-color);border-radius:8px;display:inline-flex;gap:0;overflow:hidden}.csa-view-toggle-btn{background:#0000;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.csa-view-toggle-btn:last-child{border-right:none}.csa-view-toggle-btn:hover{background:#ffffff0d;color:var(--text-primary)}.csa-view-toggle-btn.active{background:var(--primary-color);color:#fff}.csa-ced-units-header{display:flex;justify-content:flex-end;margin-bottom:.75rem}.csa-ced-expand-toggle{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.35rem .85rem;transition:all .15s}.csa-ced-expand-toggle:hover{border-color:var(--text-secondary);color:var(--text-primary)}.csa-view-toggle-wrapper{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.csa-ced-unit-exam{color:inherit;text-decoration:none}.csa-ced-unit-exam .csa-ced-unit-header{padding:1.1rem 1.5rem}.csa-ced-unit-exam:hover{border-color:var(--dashboard-accent,var(--primary-color));color:inherit;text-decoration:none}.csa-ced-units{display:flex;flex-direction:column;gap:1.25rem}.csa-ced-unit{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.csa-ced-unit-complete{border-color:#00b50940}.csa-ced-unit-header{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem .5rem;text-align:left;width:100%}.csa-ced-unit-header:hover{background:#ffffff05}.csa-ced-unit-header-left{align-items:center;display:flex;flex:1 1;gap:.75rem}.csa-ced-unit-header-left h3{color:var(--text-primary);font-size:1.15rem;margin:0}.csa-ced-chevron{color:var(--text-secondary);display:inline-block;font-size:.7rem;transition:transform .2s}.csa-ced-chevron.expanded{transform:rotate(90deg)}.csa-ced-unit-header-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.csa-ced-exam-weight{background:#00b5091a;color:var(--primary-color)}.csa-ced-exam-weight,.csa-ced-optional-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.csa-ced-optional-badge{background:#f59e0b1a;color:#f59e0b}.csa-ced-exam-prep-badge{background:#06b6d41a;border-radius:12px;color:#06b6d4;font-size:.75rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.csa-ced-unit-count{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.csa-ced-unit-progress-text{color:var(--primary-color);font-size:.9rem;font-weight:700}.csa-ced-unit-lessons,.csa-ced-unit-progress-bar{padding:0 1.5rem 1rem}.csa-ced-module-group{margin-bottom:.25rem}.csa-ced-module-group:last-child{margin-bottom:0}.csa-ced-module-label{align-items:center;border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:.7rem;font-weight:700;gap:.5rem;letter-spacing:.06em;margin-top:.25rem;padding:.6rem 0 .25rem;text-transform:uppercase}.csa-ced-module-group:first-child .csa-ced-module-label{border-top:none;margin-top:0;padding-top:0}.csa-ced-module-label-link{border-radius:6px;color:var(--text-secondary);margin:.25rem -.5rem .1rem;padding:.55rem .5rem .35rem;text-decoration:none;transition:background .15s,color .15s}.csa-ced-module-label-link .csa-ced-module-label-text{flex:1 1;min-width:0}.csa-ced-module-label-link .csa-ced-module-label-arrow{color:var(--primary-color);font-size:.85rem;opacity:0;transition:opacity .15s,transform .15s}.csa-ced-module-label-link:hover{background:#38bdf814;color:var(--text-primary);text-decoration:none}.csa-ced-module-label-link:hover .csa-ced-module-label-arrow{opacity:1;transform:translateX(2px)}.csa-ced-overview-row{background:#38bdf80f;border-left:3px solid var(--primary-color);font-weight:600;margin-bottom:.35rem}.csa-ced-overview-row:hover{background:#38bdf824}.csa-ced-overview-row .csa-ced-lesson-status{color:var(--primary-color)}.csa-ced-module-icon{font-size:.85rem}.csa-ced-lesson-row{align-items:center;border-radius:6px;display:flex;font-size:.85rem;gap:.6rem;padding:.45rem .5rem;transition:background .15s}.csa-ced-lesson-row,.csa-ced-lesson-row:hover{color:var(--text-primary);text-decoration:none}.csa-ced-lesson-row:hover{background:#ffffff0a}.csa-ced-lesson-status{color:var(--text-secondary);font-size:.75rem;min-width:18px;text-align:center;width:18px}.csa-ced-lesson-row.completed .csa-ced-lesson-status{color:var(--primary-color);font-weight:700}.csa-ced-lesson-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csa-ced-lesson-row.completed .csa-ced-lesson-title{color:var(--text-secondary)}.csa-ced-lesson-row.in-progress{background:#f59e0b24;border-left:3px solid #f59e0b;padding-left:calc(.5rem - 3px)}.csa-ced-lesson-row.in-progress:hover{background:#f59e0b38}.csa-ced-lesson-row.in-progress .csa-ced-lesson-status{color:#f59e0b;font-weight:700}.csa-ced-lesson-row.in-progress .csa-ced-lesson-title{color:var(--text-primary);font-weight:600}.csa-ced-lesson-duration{color:var(--text-secondary);font-size:.7rem;opacity:.7;white-space:nowrap}.csa-ced-lesson-row.locked{cursor:default;opacity:.45;pointer-events:none}.csa-ced-lesson-row.locked .csa-ced-lesson-status{font-size:.75rem}@media (max-width:768px){.csa-ced-unit-header{padding:1rem 1rem .5rem}.csa-ced-unit-lessons,.csa-ced-unit-progress-bar{padding:0 1rem .75rem}.csa-ced-unit-header-left h3{font-size:1rem}}.hci-dashboard{--dashboard-accent:#06b6d4;--dashboard-accent-rgb:6,182,212}.hci-dashboard .membership-compare-paid{background:linear-gradient(135deg,#0a1a2e,#0a1520);border:1px solid #06b6d44d}.hci-dashboard .membership-compare-badge-pro{background:#06b6d41f;color:#06b6d4}.hci-dashboard .membership-compare-paid .membership-compare-list li:before{color:#06b6d4}.hci-dashboard .module-card-complete{border-color:#06b6d440}.hci-dashboard-header{margin-bottom:2rem}.hci-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.hci-course-badge{align-items:center;background:linear-gradient(135deg,#0a1e2e,#081520);border:1px solid #06b6d459;border-radius:20px;color:#06b6d4;display:inline-flex;font-size:.8125rem;font-weight:700;gap:.375rem;letter-spacing:.06em;padding:.35rem .9rem;text-transform:uppercase}.hci-course-switch-link{border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.35rem .75rem;text-decoration:none;transition:all .15s;white-space:nowrap}.hci-course-switch-link:hover{border-color:var(--text-secondary);color:var(--text-primary);text-decoration:none}.hci-progress-fill{background:linear-gradient(90deg,#0891b2,#06b6d4)!important}.hci-dashboard .module-time-remaining,.hci-dashboard .overall-percent,.hci-dashboard .overall-time-remaining{color:#06b6d4}.hci-dashboard .module-card:hover{border-color:#06b6d4}@media (max-width:600px){.hci-header-top{align-items:flex-start;flex-direction:column}.hci-course-switch-link{text-align:center;width:100%}}.flashcards-container{background-color:var(--bg-secondary);border-radius:8px;margin-top:2rem;padding:2rem}.flashcards-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.flashcards-header h2{color:var(--text-primary);font-size:1.5rem}.flashcards-stats{align-items:center;display:flex;gap:1rem}.fc-counter{color:var(--text-secondary);font-weight:500}.fc-known-badge{color:var(--primary-color);font-size:.875rem;font-weight:600}.flashcards-progress{background-color:var(--border-color);border-radius:2px;height:4px;margin-bottom:2rem;overflow:hidden}.flashcards-progress-bar{background-color:var(--primary-color);height:100%;transition:width .3s}.flashcard-wrapper{background:var(--bg-color);border-radius:12px;height:280px;margin-bottom:1.5rem;perspective:1000px}.flashcard{cursor:pointer}.flashcard,.flashcard-inner{height:100%;position:relative;width:100%}.flashcard-inner{transform-style:preserve-3d;transition:transform .5s}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-color);border:2px solid var(--border-color);border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2.5rem 2rem;position:absolute;text-align:center}.flashcard.is-review.last-again .flashcard-back,.flashcard.is-review.last-again .flashcard-front{border-color:#ef444473;box-shadow:inset 0 0 0 1px #ef444426}.flashcard.is-review.last-hard .flashcard-back,.flashcard.is-review.last-hard .flashcard-front{border-color:#eab30873;box-shadow:inset 0 0 0 1px #eab30826}.flashcard:hover .flashcard-back,.flashcard:hover .flashcard-front{border-color:var(--primary-color);box-shadow:0 0 20px #00b5091a}.flashcard:focus{outline:none}.flashcard:focus-visible .flashcard-back,.flashcard:focus-visible .flashcard-front{border-color:var(--primary-color);box-shadow:0 0 20px #00b50926}.flashcard-back{transform:rotateY(180deg)}.flashcard-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;left:1.5rem;letter-spacing:.1em;position:absolute;text-transform:uppercase;top:1rem}.flashcard-text{color:var(--text-primary);font-size:1.125rem;line-height:1.7;max-width:600px}.flashcard-term{color:var(--primary-color);font-size:2rem;font-weight:700}.flashcard-term--review{font-family:Georgia,Times New Roman,serif;font-style:italic}.flashcard-hint{bottom:1rem;font-size:.8125rem;opacity:.6}.flashcard-hint,.flashcard-review-badge{color:var(--text-secondary);position:absolute}.flashcard-review-badge{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:.2rem .55rem;right:1.25rem;text-transform:uppercase;top:1rem}.flashcard-review-badge--again{background:#ef444414;border-color:#ef444480;color:#ef4444}.flashcard-review-badge--hard{background:#eab30814;border-color:#eab30880;color:#ca8a04}.flashcard-rating{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:.75rem}.fc-rating-btn{align-items:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:.15rem;justify-content:center;padding:.85rem .5rem;transition:transform .08s ease-out,border-color .15s,background .15s,color .15s}.fc-rating-btn:disabled{cursor:not-allowed;opacity:.45}.fc-rating-btn:not(:disabled):hover{transform:translateY(-1px)}.fc-rating-btn:not(:disabled):active{transform:translateY(0)}.fc-rating-label{font-size:1rem;line-height:1.1}.fc-rating-sub{color:var(--text-secondary);font-size:.72rem;font-weight:500;letter-spacing:.04em}.fc-rating-btn--again:not(:disabled){border-color:#ef444480;color:#ef4444}.fc-rating-btn--again:not(:disabled):hover{background:#ef44441a;border-color:#ef4444}.fc-rating-btn--hard:not(:disabled){border-color:#eab30880;color:#ca8a04}.fc-rating-btn--hard:not(:disabled):hover{background:#eab3081f;border-color:#ca8a04}.fc-rating-btn--easy:not(:disabled){border-color:#00b50980;color:var(--primary-color)}.fc-rating-btn--easy:not(:disabled):hover{background:#00b5091a;border-color:var(--primary-color)}.fc-flip-prompt{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin:0 0 1rem;text-align:center}.flashcard-actions--secondary{display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem}.flashcard-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.flashcard-actions .btn{min-width:120px}.btn.btn-small{font-size:.875rem;min-width:0;padding:.4rem .85rem}.flashcard-controls{align-items:center;display:flex;justify-content:space-between}.fc-shuffle-btn{font-size:.875rem}.flashcard-controls-left{align-items:center;display:flex;gap:.5rem}.fc-reset-progress-btn{background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;padding:.5rem .85rem;transition:color .15s,border-color .15s,background .15s}.fc-reset-progress-btn:hover{background:#ef44440f;border-color:#ef444480;color:#ef4444}.fc-reset-confirm{background:#ef44440f;border:1px solid #ef444466;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem 1.25rem}.fc-reset-confirm-msg{color:var(--text-primary);font-size:.9rem;line-height:1.5;margin:0}.fc-reset-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}.fc-reset-confirm-btn{background:#ef4444;border:1px solid #ef4444;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.4rem .85rem}.fc-reset-confirm-btn:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.fc-reset-confirm-btn:disabled{cursor:not-allowed;opacity:.6}.fc-complete-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.fc-keyboard-hint{color:var(--text-secondary);font-size:.8125rem}.fc-keyboard-hint kbd{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);display:inline-block;font-family:Courier New,Courier,monospace;font-size:.75rem;margin:0 .125rem;padding:.125rem .5rem}.flashcards-complete{background-color:#052e16;border-radius:8px;padding:3rem 2rem;text-align:center}.fc-complete-icon{font-size:3rem;margin-bottom:1rem}.flashcards-complete h3{color:var(--success-color);font-size:1.5rem;margin-bottom:.5rem}.fc-complete-sub{color:var(--text-secondary);margin-bottom:1.5rem}.fc-complete-stats{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.fc-stat-pill{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;font-size:.85rem;font-weight:600;padding:.35rem .85rem}.fc-stat-pill--again{border-color:#ef444480;color:#ef4444}.fc-stat-pill--hard{border-color:#eab30880;color:#ca8a04}.fc-stat-pill--easy{border-color:#00b50980;color:var(--primary-color)}@media (max-width:768px){.flashcards-container{padding:1.5rem}.flashcards-header{align-items:flex-start;flex-direction:column;gap:.5rem}.flashcard-wrapper{height:240px}.flashcard-term{font-size:1.5rem}.flashcard-text{font-size:1rem}.flashcard-rating{gap:.5rem;grid-template-columns:1fr}.fc-rating-btn{flex-direction:row;gap:.5rem;padding:.7rem 1rem}.fc-rating-sub{margin-left:auto}.flashcard-actions{flex-direction:column}.flashcard-actions .btn{min-width:100%}.flashcard-controls{align-items:center;flex-direction:column;gap:.75rem}}.flashcards-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.flashcards-page-header{margin-bottom:2rem;text-align:center}.flashcards-page-header h1{color:var(--text-primary);font-size:2.5rem;margin-bottom:.5rem}.flashcards-page-header p{color:var(--text-secondary);font-size:1.125rem}.fc-related-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.fc-related-links .blocks-resource-pill:after{left:50%;transform:translateX(-50%) translateY(4px)}.fc-related-links .blocks-resource-pill:hover:after{transform:translateX(-50%) translateY(0)}.fc-upsell-banner{align-items:center;background:#00b50914;border:1px solid #00b50933;border-radius:8px;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;justify-content:space-between;line-height:1.5;margin-bottom:1.5rem;padding:.75rem 1.25rem}.fc-upsell-banner .btn-small{flex-shrink:0;font-size:.85rem;padding:.4rem 1rem;white-space:nowrap}@media (max-width:600px){.fc-upsell-banner{align-items:flex-start;flex-direction:column;gap:.75rem}.fc-upsell-banner .btn-small{text-align:center;width:100%}}.flashcards-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.no-flashcards{color:var(--text-secondary);padding:3rem;text-align:center}@media (max-width:768px){.flashcards-page{padding:2rem 1rem}.flashcards-page-header h1{font-size:2rem}.flashcards-filter{gap:.375rem}.filter-btn{font-size:.8125rem;padding:.375rem .75rem}}.td-public{max-width:1100px}.td-public-hero{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding:2.5rem 1rem 3rem;text-align:center}.td-public-eyebrow{color:#00b509;color:var(--primary-color,#00b509);display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.td-public-title{color:var(--text-primary);font-size:2.5rem;line-height:1.2;margin:0 0 1rem}.td-public-lede{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0 auto 1.75rem;max-width:720px}.td-public-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.td-public-login-note{color:var(--text-secondary);font-size:.9rem;margin:0}.td-public-login-note a{color:#00b509;color:var(--primary-color,#00b509);font-weight:600}.td-public-tiers{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}@media (max-width:900px){.td-public-tiers{grid-template-columns:1fr}.td-public-title{font-size:2rem}}.td-public-tier h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 .35rem}.td-public-tier-price{color:var(--text-secondary);font-size:.95rem;margin:0 0 1.25rem}.td-public-tier-label{background:#ffffff0f;border-radius:999px;color:var(--text-secondary);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.85rem;padding:.25rem .6rem;text-transform:uppercase}.td-public-tier-label--premium{background:#00b50924;color:#4ade80}.td-public-tier--seats{border-color:#00b5094d}.td-public-footer-cta{background:#ffffff08;border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:2rem 1.5rem;text-align:center}.td-public-footer-cta h3{color:var(--text-primary);font-size:1.3rem;margin:0 0 .5rem}.td-public-footer-cta p{color:var(--text-secondary);line-height:1.6;margin:0 auto 1.25rem;max-width:600px}.td-public-footer-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.td-info-panel--seats{border-color:#00b5094d}.td-info-panel--upsell{border-color:#fbbf2440}.td-info-seats-summary{align-items:center;background:#00b50912;border:1px solid #00b5092e;border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.25rem;padding:.65rem 1rem}.td-info-seats-used{color:var(--text-primary);font-size:1rem;font-weight:700}.td-info-seats-label{color:var(--text-secondary)}.td-info-seats-remaining{color:#4ade80;font-size:.85rem;font-weight:600;margin-left:auto}.td-info-seats-empty{color:#fca5a5}.td-info-feature-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.td-info-feature-list li{align-items:flex-start;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.75rem;line-height:1.55;padding:.7rem 1rem}.td-info-feature-list li:before{color:#00b509;color:var(--primary-color,#00b509);content:"\2192";flex-shrink:0;font-weight:700;margin-top:.05rem}.td-info-feature-list li strong{color:var(--text-primary)}.td-info-cta{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem}.td-info-cta p{color:var(--text-secondary);font-size:.9rem;margin:0}.td-info-dismiss{margin-top:1.25rem}.td-info-cta-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cr-message{border-radius:8px;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.cr-message.success{background-color:#052e16;border:1px solid #166534;color:#4ade80}.cr-message.error{background-color:#3b1111;border:1px solid #5c1a1a;color:#fca5a5}.cr-message.warning{background-color:#2e1f05;border:1px solid #5c3a0e;color:#fbbf24}.cr-create-btn{margin-bottom:1rem}.cr-create-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem}.cr-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.cr-form-group label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:.4rem;text-transform:uppercase}.cr-form-group input,.cr-form-group select{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:.6rem .8rem;transition:border-color .2s;width:100%}.cr-form-group input:focus,.cr-form-group select:focus{border-color:var(--primary-color);outline:none}.cr-classroom-list,.cr-form-actions{display:flex;gap:.75rem}.cr-classroom-list{flex-direction:column;margin-top:1.25rem}.cr-classroom-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.25rem;transition:border-color .2s}.cr-classroom-card:hover{border-color:#00b5094d}.cr-card-header{margin-bottom:.75rem}.cr-card-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.cr-card-meta{color:var(--text-secondary);font-size:.85rem;margin-top:.15rem}.cr-card-body{flex-wrap:wrap;justify-content:space-between;margin-bottom:.75rem}.cr-card-body,.cr-code-display{align-items:center;display:flex;gap:.5rem}.cr-code-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase}.cr-code-value{background:#00b50914;border:1px solid #00b50933;border-radius:6px;color:var(--primary-color);font-family:Courier New,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.15em;padding:.25rem .6rem}.cr-copy-btn{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:.25rem .6rem;transition:all .15s}.cr-copy-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.cr-card-stats{color:var(--text-secondary);font-size:.85rem;font-weight:500}.cr-card-actions{display:flex;gap:.5rem}.btn-sm{font-size:.82rem;padding:.4rem .8rem}.cr-archive-btn{color:var(--text-secondary)}.cr-archive-btn:hover{border-color:#5c1a1a;color:#fca5a5}.cr-archive-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.cr-archive-modal{background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:420px;padding:1.5rem 2rem;width:90%}.cr-push-modal{max-height:88vh;max-width:760px;overflow-y:auto}.cr-push-mode-row{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 1rem}.cr-push-mode-row>label{grid-column-gap:.5rem;align-items:start;color:#fff;color:var(--text-primary,#fff);column-gap:.5rem;cursor:pointer;display:grid;font-size:.9rem;grid-template-columns:auto 1fr}.cr-push-mode-row>label>input[type=radio]{margin-top:.25rem}.cr-push-mode-hint{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:.78rem;grid-column:2}.cr-push-threshold{align-items:center;display:flex;font-size:.85rem;gap:.5rem;margin-left:1.5rem}.cr-push-threshold input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;color:#fff;color:var(--text-primary,#fff);font:inherit;padding:.3rem .5rem;width:5rem}.cr-push-tip{color:#aaa;color:var(--text-secondary,#aaa);font-size:.82rem;margin:.5rem 0 .75rem}.cr-push-table-wrapper{border:1px solid #ffffff14;border-radius:6px;margin-bottom:.75rem;max-height:50vh;overflow-y:auto}.cr-push-table{border-collapse:collapse;font-size:.88rem;width:100%}.cr-push-table td,.cr-push-table th{border-bottom:1px solid #ffffff0f;padding:.5rem .75rem;text-align:left}.cr-push-table th{background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);color:#aaa;color:var(--text-secondary,#aaa);font-size:.78rem;font-weight:600;letter-spacing:.04em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.cr-push-table tr:last-child td{border-bottom:none}.cr-push-row-unmatched td{opacity:.55}.cr-push-unmatched-badge{background:#ef44442e;border-radius:4px;color:#f87171;display:inline-block;font-size:.7rem;letter-spacing:.04em;margin-left:.4rem;padding:.05rem .4rem;text-transform:uppercase}.cr-push-grade-input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;color:#fff;color:var(--text-primary,#fff);font:inherit;padding:.25rem .4rem;width:5rem}.cr-push-grade-input:disabled{opacity:.5}.cr-push-error{color:#f87171;font-size:.85rem;margin:.25rem 0 .5rem}.cr-push-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.cr-post-grading-mode{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;margin:.75rem 0 1rem;padding:.75rem .85rem}.cr-post-grading-label{font-size:.82rem;font-weight:600;margin:0 0 .6rem}.cr-post-grading-label,.cr-post-grading-option{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.cr-post-grading-option{align-items:flex-start;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.35rem 0}.cr-post-grading-option input[type=radio]{accent-color:#60a5fa;margin-top:.2rem}.cr-post-grading-option strong{display:block;font-weight:600}.cr-post-grading-hint{display:block;font-size:.75rem;line-height:1.4;margin-top:.15rem}.cr-post-grading-hint,.cr-post-grading-threshold{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.cr-post-grading-threshold{align-items:center;display:flex;font-size:.8rem;gap:.5rem;margin-top:.5rem;padding-left:1.5rem}.cr-post-grading-threshold input[type=number]{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;color:#fff;color:var(--text-primary,#fff);font:inherit;padding:.25rem .4rem;width:4.5rem}.cr-archive-modal h3{color:#fff;color:var(--text-primary,#fff);font-size:1.1rem;margin:0 0 .5rem}.cr-archive-modal p{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;margin:0 0 .75rem}.cr-archive-input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;box-sizing:border-box;color:#fff;color:var(--text-primary,#fff);font-size:.95rem;margin-bottom:1rem;padding:.5rem .75rem;width:100%}.cr-archive-actions{display:flex;gap:.75rem}.cr-archive-actions .btn-danger{background:#dc2626;border:none;color:#fff}.cr-archive-actions .btn-danger:disabled{cursor:not-allowed;opacity:.4}.cr-remove-reasons{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.cr-remove-reason-option{align-items:center;border-radius:6px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.45rem .6rem;transition:background .15s}.cr-remove-reason-option:hover{background:#ffffff0d}.cr-remove-reason-option.selected{background:#ffffff14}.cr-remove-reason-option input[type=radio]{accent-color:#3b82f6;margin:0}.cr-remove-seat-badge{background:#00b50926;border-radius:4px;color:#4ade80;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-left:auto;padding:.15rem .45rem;text-transform:uppercase}.cr-remove-seat-note{background:#facc1514;border:1px solid #facc1540;border-radius:8px;color:#fde68a;font-size:.82rem;line-height:1.5;margin-bottom:1rem;padding:.6rem .75rem}.cr-join-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.cr-join-teacher-note{align-items:flex-start;background:#eab3081a;border:1px dashed #eab30873;border-left:3px solid #eab308;border-radius:6px;color:#fde68a;display:inline-flex;font-size:.85rem;gap:.5rem;line-height:1.35;margin-left:.5rem;max-width:320px;padding:.55rem .85rem}.cr-join-teacher-note__icon{flex-shrink:0;line-height:1.2}.cr-join-teacher-note a{color:#fde047;font-weight:600;text-decoration:none;white-space:nowrap}.cr-join-teacher-note a:hover{text-decoration:underline}.cr-join-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:Courier New,monospace;font-size:1rem;letter-spacing:.15em;max-width:220px;padding:.6rem 1rem;text-transform:uppercase;transition:border-color .2s}.cr-join-input:focus{border-color:var(--primary-color);outline:none}.cr-join-input::placeholder{color:var(--text-secondary);font-family:inherit;font-size:.85rem;letter-spacing:normal;text-transform:none}.cr-enrolled-heading{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.04em;margin-bottom:.75rem;padding-bottom:.4rem;text-transform:uppercase}.cr-enrolled-list{margin-top:.5rem}.cr-enrolled-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0}.cr-enrolled-item:last-child{border-bottom:none}.cr-enrolled-info{display:flex;flex-direction:column;gap:.15rem}.cr-enrolled-name{color:var(--text-primary);font-weight:600}.cr-enrolled-meta{color:var(--text-secondary);font-size:.82rem}.cr-leave-btn{flex-shrink:0}.cr-loading{color:var(--text-secondary);font-size:.9rem;padding:.5rem 0}.cr-dashboard{margin:0 auto;max-width:1280px;padding:2rem 1.5rem 4rem}.cr-dash-header{margin-bottom:2rem}.cr-dash-header-titlerow{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.cr-dash-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.cr-dash-analytics-btn{align-items:center;background:#0ea5e91a;border:1px solid #0ea5e959;border-radius:8px;color:#7dd3fc;display:inline-flex;font-size:.88rem;font-weight:600;gap:.35rem;padding:.5rem .9rem;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}.cr-dash-analytics-btn:hover{background:#0ea5e92e;border-color:#0ea5e98c;transform:translateY(-1px)}.cr-dash-header-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.95rem;gap:.75rem}.cr-dash-code{background:#00b50914;border:1px solid #00b50933;border-radius:4px;color:var(--primary-color);font-family:Courier New,monospace;font-weight:700;letter-spacing:.1em;padding:.15rem .5rem}.cr-dash-seats{background:#00b5090f;border:1px solid #00b50926;border-radius:6px;color:var(--primary-color);font-size:.85rem;font-weight:600;padding:.2rem .6rem}.cr-dash-back{color:var(--text-secondary);display:inline-block;font-size:.9rem;margin-bottom:1rem;text-decoration:none;transition:color .15s}.cr-dash-back:hover{color:var(--primary-color)}.cr-dash-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.cr-dash-stat{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem}.cr-dash-stat .stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.cr-dash-stat .stat-value{color:var(--primary-color);font-size:2rem;font-weight:700;line-height:1.1}.cr-dash-stat .stat-sub{color:var(--text-secondary);font-size:.8rem}.cr-dash-error,.cr-dash-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh;text-align:center}.cr-dash-loading .spinner{animation:cr-spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}@keyframes cr-spin{to{transform:rotate(1turn)}}.cr-dash-error{color:var(--error-color)}.cr-dash-error button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.25rem}.cr-dash-empty{color:var(--text-secondary);padding:3rem 1rem;text-align:center}.cr-dash-empty-code{color:var(--primary-color);font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.2em;margin-top:1rem}.cr-class-averages{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.cr-avg-section{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem 1.5rem}.cr-avg-title{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.04em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.cr-avg-bars{display:flex;flex-direction:column;gap:.6rem}.cr-avg-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:140px 1fr 45px 60px}.cr-avg-section.cr-avg-wide .cr-avg-row{grid-template-columns:260px 1fr 45px 60px}.cr-avg-label{color:var(--text-primary);font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.cr-avg-bar-track{background:#ffffff0f;border-radius:5px;height:10px;overflow:hidden}.cr-avg-bar-fill{border-radius:5px;height:100%;transition:width .4s ease}.cr-avg-bar-fill.green{background:#4ade80}.cr-avg-bar-fill.yellow{background:#facc15}.cr-avg-bar-fill.red{background:#f87171}.cr-avg-bar-fill.gray{background:#ffffff26}.cr-avg-pct{color:var(--text-primary);font-size:.85rem;font-weight:700;text-align:right}.cr-avg-detail{color:var(--text-secondary);font-size:.78rem;text-align:right}.course-progress-cell{color:var(--text-primary);font-size:.85rem;font-weight:600}.no-membership{color:var(--text-secondary);font-size:.85rem}.cr-seats-badge{align-items:center;background:#00b5090f;border:1px solid #00b50933;border-radius:8px;display:flex;font-size:.88rem;gap:.5rem;margin-bottom:1rem;padding:.6rem 1rem}.cr-seats-label{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.cr-seats-count{color:var(--text-primary);font-weight:600}.cr-seats-remaining{color:var(--primary-color);font-weight:500}.cr-seats-remaining.cr-seats-empty{color:#f87171}.cr-class-discount{background:#38bdf80f;border:1px solid #38bdf833;border-radius:8px;color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin-top:1.25rem;padding:.75rem 1rem}.cr-class-discount a{color:#38bdf8;font-weight:600;text-decoration:none}.cr-class-discount a:hover{text-decoration:underline}@media (max-width:768px){.cr-form-row{grid-template-columns:1fr}.cr-join-form{align-items:stretch;flex-direction:column}.cr-join-input{max-width:100%}.cr-join-teacher-note{margin-left:0;max-width:100%}.cr-card-body{align-items:flex-start;flex-direction:column}.cr-class-averages{grid-template-columns:1fr}.cr-avg-row{gap:.5rem;grid-template-columns:100px 1fr 40px 50px}.cr-avg-section.cr-avg-wide .cr-avg-row{gap:.35rem;grid-template-columns:1fr 40px 50px}.cr-avg-section.cr-avg-wide .cr-avg-label{grid-column:1/-1;margin-bottom:.1rem}.cr-avg-label{font-size:.78rem}.cr-dashboard{padding:1.25rem 1rem 3rem}.cr-dash-header h1{font-size:1.35rem}.cr-dash-summary{gap:.75rem;grid-template-columns:repeat(2,1fr)}.cr-dash-stat{padding:1rem}.cr-dash-stat .stat-value{font-size:1.5rem}}@media (max-width:480px){.cr-dash-summary{grid-template-columns:1fr}.cr-form-actions{flex-direction:column}}.cr-lockdown-subsection{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color,#ffffff1a);margin-top:1.5rem;padding-top:1.5rem}.cr-assessments-panel{background:#ffffff05;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;margin-top:2rem;overflow:hidden}.cr-assessments-panel-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;transition:background .15s;-webkit-user-select:none;user-select:none}.cr-assessments-panel-header:hover{background:#ffffff0a}.cr-assessments-panel-chevron{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.85rem;text-align:center;width:.85rem}.cr-assessments-panel-title{color:#e2e8f0;color:var(--text-color,#e2e8f0);font-size:1.1rem;font-weight:600;margin:0}.cr-assessments-panel-meta{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.85rem;margin-left:auto}.cr-assessments-panel-body{border-top:1px solid #ffffff14;border-top:1px solid var(--border-color,#ffffff14);padding:.25rem 1.25rem 1.5rem}.cr-assessments-panel-body .cr-lockdown-subsection:first-child{border-top:none;margin-top:.75rem;padding-top:.75rem}.cr-assessments-classroom-picker{align-items:center;display:flex;gap:.6rem;padding:.9rem 0 .2rem}.cr-assessments-classroom-label{color:#cbd5e0;color:var(--text-secondary,#cbd5e0);font-size:.9rem;font-weight:600}.cr-assessments-classroom-select{background:#ffffff0d;background:var(--card-bg,#ffffff0d);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:.9rem;max-width:360px;padding:.45rem .7rem}.cr-assessments-panel-body .assignment-classroom-select,.cr-assessments-panel-body .lockdown-classroom-select{display:none}.cr-card-auto-archive{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.75rem;font-style:italic;margin-top:.35rem}.cr-archived-panel{background:#ffffff08;background:var(--card-bg,#ffffff08);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:8px;margin-top:1.25rem;overflow:hidden}.cr-archived-panel-header{align-items:center;cursor:pointer;display:flex;gap:.6rem;padding:.9rem 1.25rem;-webkit-user-select:none;user-select:none}.cr-archived-panel-header:hover{background:#ffffff08}.cr-archived-panel-chevron{color:#cbd5e0;color:var(--text-secondary,#cbd5e0);font-size:.75rem}.cr-archived-panel-title{color:#fff;color:var(--text-primary,#fff);font-size:1rem;font-weight:600;margin:0}.cr-archived-panel-meta{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.85rem;margin-left:auto}.cr-archived-panel-body{border-top:1px solid #ffffff14;border-top:1px solid var(--border-color,#ffffff14);padding:.25rem 1.25rem 1.25rem}.cr-archived-note{color:#cbd5e0;color:var(--text-secondary,#cbd5e0);font-size:.8rem;line-height:1.45;margin:.75rem 0 1rem}.cr-archived-card{background:#ffffff05;border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:6px;margin-bottom:.5rem}.cr-archived-card-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;-webkit-user-select:none;user-select:none}.cr-archived-card-header:hover{background:#ffffff08}.cr-archived-chevron{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.7rem}.cr-archived-card-info{flex:1 1;min-width:0}.cr-archived-card-title{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;font-weight:600}.cr-archived-card-meta{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.75rem;margin-top:.1rem}.cr-archived-card-stats{align-items:flex-end;color:#cbd5e0;color:var(--text-secondary,#cbd5e0);display:flex;flex-direction:column;font-size:.75rem;gap:.15rem}.cr-archived-date{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.7rem}.cr-archived-roster{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-color,#ffffff0f);padding:0 1rem 1rem}.cr-archived-empty{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.85rem;padding:.75rem 0;text-align:center}.cr-archived-roster-table{border-collapse:collapse;font-size:.8rem;margin-top:.75rem;width:100%}.cr-archived-roster-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);color:#cbd5e0;color:var(--text-secondary,#cbd5e0);font-weight:600;padding:.5rem .6rem;text-align:left}.cr-archived-roster-table td{border-bottom:1px solid #ffffff0a;color:#fff;color:var(--text-primary,#fff);padding:.5rem .6rem}.cr-archived-roster-table tr:last-child td{border-bottom:none}.cr-lockdown-section{margin-bottom:2rem}.cr-lockdown-quizzes{display:flex;flex-direction:column;gap:.5rem}.cr-lockdown-quiz-card{background:#ffffff08;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;overflow:hidden}.cr-lockdown-quiz-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:background .15s}.cr-lockdown-quiz-header:hover{background:#ffffff0a}.cr-lockdown-quiz-card .lockdown-quiz-card-password{margin-bottom:0;padding:0 1rem .6rem}.cr-lockdown-quiz-title{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-weight:600}.cr-lockdown-quiz-counts{color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem}.cr-lockdown-expand{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem}.cr-lockdown-quiz-results{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color,#ffffff1a);padding:.75rem 1rem}.cr-lockdown-summary{color:#aaa;color:var(--text-secondary,#aaa);display:flex;font-size:.85rem;gap:1.5rem;margin-bottom:.75rem}.cr-lockdown-results-table{border-collapse:collapse;font-size:.85rem;width:100%}.cr-lockdown-results-table th{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color,#ffffff1a);color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;font-weight:600;padding:.4rem .5rem;text-align:left;text-transform:uppercase}.cr-lockdown-results-table td{border-bottom:1px solid #ffffff0a;color:#fff;color:var(--text-primary,#fff);padding:.4rem .5rem}.cr-lockdown-full-link{color:#00b509;color:var(--primary-color,#00b509);display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:none}.cr-lockdown-full-link:hover{text-decoration:underline}.cr-extra-time-section{align-items:center;border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color,#ffffff1a);display:flex;font-size:.85rem;gap:.5rem;padding:.75rem 1.5rem}.cr-extra-time-label{color:#aaa;color:var(--text-secondary,#aaa);font-weight:600}.cr-extra-time-display{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;gap:.5rem}.cr-extra-time-edit-btn{background:#3b82f626;border:1px solid #3b82f64d;border-radius:4px;color:#60a5fa;cursor:pointer;font-size:.75rem;padding:.15rem .5rem}.cr-extra-time-edit-btn:hover{background:#3b82f640}.cr-extra-time-edit{align-items:center;display:flex;gap:.4rem}.cr-extra-time-edit,.cr-extra-time-input{color:#fff;color:var(--text-primary,#fff)}.cr-extra-time-input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;font-size:.85rem;padding:.2rem .4rem;text-align:center;width:55px}.cr-extra-time-save{background:#00b50933;border:1px solid #00b5094d;border-radius:4px;color:#4ade80;cursor:pointer;font-size:.75rem;padding:.2rem .5rem}.cr-extra-time-save:hover{background:#00b50959}.cr-extra-time-cancel{background:#9ca3af26;border:1px solid #9ca3af33;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:.75rem;padding:.2rem .5rem}.cr-extra-time-cancel:hover{background:#9ca3af40}.cr-collapse-section{background:#12131a;background:var(--card-bg,#12131a);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.cr-collapse-header{align-items:center;background:#0000;border:none;color:#e5e7eb;color:var(--text-primary,#e5e7eb);cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:background .15s ease;width:100%}.cr-collapse-header:hover{background:#ffffff08}.cr-collapse-section.collapsed .cr-collapse-header{border-bottom:none}.cr-collapse-section:not(.collapsed) .cr-collapse-header{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14)}.cr-collapse-chevron{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:inline-block;font-size:.7rem;transition:transform .15s ease;width:12px}.cr-collapse-title{color:#e5e7eb;color:var(--text-primary,#e5e7eb);flex-shrink:0;font-size:1.05rem;font-weight:600;margin:0}.cr-collapse-meta{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.85rem;font-weight:500;margin-left:auto}.cr-collapse-section .cr-class-averages,.cr-collapse-section .cr-dash-summary{padding:1rem 1.25rem}.cr-stats-section{margin-top:1.25rem}.cr-stats-chips{display:flex;flex-wrap:wrap;gap:.6rem;padding:.85rem 1.25rem}.cr-stat-chip{align-items:flex-start;background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:8px;display:flex;flex:0 0 auto;flex-direction:column;gap:.1rem;min-width:110px;padding:.5rem .85rem}.cr-stat-chip-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.68rem;font-weight:600;letter-spacing:.04em;line-height:1;text-transform:uppercase}.cr-stat-chip-value{color:#00b509;color:var(--primary-color,#00b509);font-size:1.15rem;font-weight:700;line-height:1.15}.cr-stat-chip-sub{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.68rem;line-height:1}.cr-class-averages-compact{gap:1rem;margin-bottom:0;padding:0 1.25rem 1rem}.cr-class-averages-compact .cr-avg-section{padding:.85rem 1rem}.cr-class-averages-compact .cr-avg-title{font-size:.72rem;margin-bottom:.65rem;padding-bottom:.35rem}.cr-class-averages-compact .cr-avg-bars{gap:.4rem}.cr-class-averages-compact .cr-avg-row{gap:.6rem;grid-template-columns:120px 1fr 40px 55px}.cr-class-averages-compact .cr-avg-section.cr-avg-wide .cr-avg-row{grid-template-columns:240px 1fr 40px 55px}.cr-class-averages-compact .cr-avg-detail,.cr-class-averages-compact .cr-avg-label,.cr-class-averages-compact .cr-avg-pct{font-size:.78rem}.cr-class-averages-compact .cr-avg-bar-track{height:8px}@media (max-width:768px){.cr-stats-chips{gap:.5rem;padding:.75rem 1rem}.cr-stat-chip{min-width:95px;padding:.45rem .7rem}.cr-stat-chip-value{font-size:1rem}.cr-class-averages-compact{grid-template-columns:1fr;padding:0 1rem .85rem}}.cr-roster-section .admin-controls{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-color,#ffffff0f);margin:0;padding:.85rem 1.25rem}.cr-roster-section .admin-table-wrapper{border:none;border-radius:0;margin:0;padding:0}.cr-roster-table{border-collapse:collapse;font-size:.9rem;width:100%}.cr-roster-table thead th{background:#ffffff05;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.75rem .85rem;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.cr-roster-table thead th:hover{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.cr-roster-table tbody td{border-bottom:1px solid #ffffff0a;padding:.75rem .85rem;vertical-align:middle}.cr-roster-table tbody tr:hover:not(.admin-detail-row){background:#ffffff05}.cr-roster-table tbody tr.expanded td{background:#a855f70d}.cr-col-name{min-width:150px}.cr-col-email{font-size:.85rem;max-width:220px;overflow:hidden;text-overflow:ellipsis}.cr-col-activity,.cr-col-email,.cr-col-joined{color:#9ca3af;color:var(--text-secondary,#9ca3af);white-space:nowrap}.cr-col-activity,.cr-col-joined{font-size:.82rem}.cr-col-assign,.cr-col-quiz{text-align:center;width:120px}.cr-col-details,.cr-col-remove{text-align:center;width:90px}.cr-student-name{align-items:center;color:#e5e7eb;color:var(--text-primary,#e5e7eb);display:flex;font-weight:600;gap:.5rem}.cr-assign-seat-btn{background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:4px;color:#f59e0b;cursor:pointer;font-size:.65rem;font-weight:600;padding:.15rem .4rem;transition:all .15s;white-space:nowrap}.cr-assign-seat-btn:hover{background:#f59e0b40;border-color:#f59e0b}.cr-completion-pill{border:1px solid #0000;border-radius:999px;display:inline-block;font-size:.8rem;font-weight:600;min-width:48px;padding:.28rem .6rem;text-align:center}.cr-completion-done{background:#00b50926;border-color:#00b50959;color:#4ade80}.cr-completion-partial{background:#fbbf241f;border-color:#fbbf244d;color:#fbbf24}.cr-completion-empty{background:#ef44441a;border-color:#ef444440;color:#f87171}.cr-completion-none{background:#9ca3af14;border-color:#9ca3af26;color:#9ca3af}.cr-remove-icon-btn{align-items:center;background:#0000;border:1px solid #ef444440;border-radius:6px;color:#f87171;cursor:pointer;display:inline-flex;font-size:.9rem;height:28px;justify-content:center;line-height:1;transition:all .15s ease;width:28px}.cr-remove-icon-btn:hover:not(:disabled){background:#ef444426;border-color:#ef444480;color:#fca5a5}.cr-remove-icon-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:900px){.cr-col-email,.cr-col-joined{display:none}}.cr-section-controls{display:flex;justify-content:flex-end;margin-bottom:.75rem}.cr-expand-all-btn{background:#0000;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.4rem .85rem;transition:all .15s ease}.cr-expand-all-btn:hover{background:#ffffff08;border-color:#ffffff40;color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.cr-classroom-assignments-body{padding:1.5rem 2rem 2rem!important}.cr-classroom-assignments-body>.assignment-results-section,.cr-classroom-assignments-body>.cr-lockdown-section{background:#0000!important;border:none!important;margin:0!important;padding:0!important}.cr-classroom-assignments-body>.cr-lockdown-section+.assignment-results-section{border-top:1px solid #ffffff0f!important;border-top:1px solid var(--border-color,#ffffff0f)!important;margin-top:1.5rem!important;padding-top:1.5rem!important}.cr-classroom-assignments-body .cr-subsection-title,.cr-classroom-assignments-body h3.cr-subsection-title{color:#9ca3af!important;color:var(--text-secondary,#9ca3af)!important;font-size:.78rem!important;font-weight:600!important;letter-spacing:.06em!important;margin:0 0 .9rem .25rem!important;padding:0!important;text-transform:uppercase!important}.cr-classroom-assignments-body .assignment-result-card,.cr-classroom-assignments-body .cr-lockdown-quiz-card{background:#000;border:1px solid #ffffff24;border-radius:10px;margin:0 .25rem .7rem;transition:border-color .15s ease,background .15s ease}.cr-classroom-assignments-body .assignment-result-card:hover,.cr-classroom-assignments-body .cr-lockdown-quiz-card:hover{border-color:#a855f759}.cr-classroom-assignments-body .assignment-result-card:last-child,.cr-classroom-assignments-body .cr-lockdown-quiz-card:last-child{margin-bottom:0}.cr-classroom-assignments-body .assignment-result-header,.cr-classroom-assignments-body .cr-lockdown-quiz-header{align-items:stretch!important;background:#0000!important;border:none!important;cursor:pointer;display:flex;flex-direction:column;font-size:.88rem;gap:.55rem;justify-content:flex-start!important;padding:.9rem 1.1rem}.cr-classroom-assignments-body .cr-ca-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .7rem;justify-content:flex-start}.cr-classroom-assignments-body .cr-ca-row-titlebar{align-items:center;flex-wrap:nowrap;gap:.75rem}.cr-classroom-assignments-body .assignment-result-title,.cr-classroom-assignments-body .cr-lockdown-quiz-title{color:#f3f4f6;color:var(--text-primary,#f3f4f6);flex:1 1;font-size:1rem;font-weight:600;line-height:1.35;min-width:0;overflow:visible;text-align:left;text-overflow:clip;white-space:normal;word-break:break-word}.cr-classroom-assignments-body .cr-ca-password{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:text;display:inline-flex;flex:0 0 auto;font-size:.78rem;gap:.4rem;margin-left:auto}.cr-classroom-assignments-body .cr-ca-password .lockdown-password-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cr-classroom-assignments-body .cr-ca-password .lockdown-password-value{background:#ffffff0f;border:1px solid #ffffff24;border-radius:5px;color:#f3f4f6;color:var(--text-primary,#f3f4f6);font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;padding:.15rem .45rem;-webkit-user-select:all;user-select:all}.cr-classroom-assignments-body .cr-ca-row-titlebar .cr-ca-status-pill{margin-left:auto}.cr-classroom-assignments-body .cr-ca-password+.cr-ca-status-pill{margin-left:0!important}.cr-classroom-assignments-body .cr-ca-chevron{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:inline-block;flex-shrink:0;font-size:.8rem;text-align:center;width:14px}.cr-classroom-assignments-body button.cr-ca-chevron-corner{background:#0000;border:none;border-radius:6px;color:#cbd5e1;color:var(--text-secondary,#cbd5e1);cursor:pointer;font-size:1rem;line-height:1;margin-left:auto;opacity:.85;padding:.3rem .5rem;transition:background .15s ease,color .15s ease,opacity .15s ease}.cr-classroom-assignments-body button.cr-ca-chevron-corner:hover{background:#a855f71f;color:#c084fc;opacity:1}.cr-classroom-assignments-body button.cr-ca-chevron-corner:focus-visible{outline:2px solid #a855f78c;outline-offset:2px}.cr-classroom-assignments-body .cr-ca-status-pill{border-radius:999px!important;flex-shrink:0;font-size:.7rem!important;font-weight:700!important;letter-spacing:.05em;min-width:64px;padding:.32rem .8rem!important;text-align:center;text-transform:uppercase}.cr-classroom-assignments-body .cr-ca-row-meta{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.78rem}.cr-classroom-assignments-body .cr-ca-meta-item{white-space:nowrap}.cr-classroom-assignments-body .cr-ca-row-items{gap:.35rem}.cr-classroom-assignments-body .cr-ca-row-actions{margin-top:.1rem}.cr-classroom-assignments-body .cr-ca-action-btn{background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;font-size:.74rem;font-weight:600;padding:.34rem .7rem;transition:all .15s;white-space:nowrap}.cr-classroom-assignments-body .cr-ca-action-btn:hover{background:#ffffff1f;border-color:#ffffff3d;color:#f3f4f6;color:var(--text-primary,#f3f4f6)}.cr-classroom-assignments-body .cr-ca-action-btn:disabled{cursor:not-allowed;opacity:.55}.cr-classroom-assignments-body .cr-ca-action-btn.cr-ca-action-danger:hover{background:#ef444426;border-color:#ef444466;color:#f87171}.cr-classroom-assignments-body .cr-ca-visibility{align-items:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:600;gap:.4rem;padding:.34rem .7rem;white-space:nowrap}.cr-classroom-assignments-body .cr-ca-visibility:hover{background:#ffffff1f;border-color:#ffffff3d;color:#f3f4f6;color:var(--text-primary,#f3f4f6)}.cr-classroom-assignments-body .cr-ca-visibility-select{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;outline:none;padding:0}.cr-classroom-assignments-body .cr-ca-visibility-select option{background:#1a1a2e;color:#f3f4f6;color:var(--text-primary,#f3f4f6)}.cr-classroom-assignments-body .cr-ca-action-btn.cr-ca-action-live{animation:cr-ca-live-pulse 1.8s ease-in-out infinite;background:#22c55e2e;border-color:#22c55e8c;box-shadow:0 0 0 0 #22c55e99;color:#4ade80;font-weight:600}.cr-classroom-assignments-body .cr-ca-action-btn.cr-ca-action-live:hover{background:#22c55e47;border-color:#22c55ecc;color:#86efac}.cr-classroom-assignments-body .cr-ca-action-btn .cr-ca-live-dot{background:#22c55e;border-radius:50%;box-shadow:0 0 6px #22c55ee6;display:inline-block;height:.5rem;margin-right:.4rem;vertical-align:middle;width:.5rem}@keyframes cr-ca-live-pulse{0%,to{box-shadow:0 0 0 0 #22c55e8c}50%{box-shadow:0 0 0 4px #22c55e00}}.cr-classroom-assignments-body .cr-ca-create-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.cr-classroom-assignments-body .cr-ca-create-btn{font-size:.85rem;font-weight:600;padding:.55rem 1.1rem}.cr-classroom-assignments-body .assignment-result-body,.cr-classroom-assignments-body .cr-lockdown-quiz-results{border-top:1px solid #ffffff12;padding:.9rem 1.1rem 1.15rem}.cr-details-btn{align-items:center;background:#0000;border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;display:inline-flex;font-size:.7rem;height:28px;justify-content:center;line-height:1;transition:all .15s ease;width:32px}.cr-details-btn:hover{background:#a855f714;border-color:#a855f766;color:#c084fc}.td-header{border-bottom:1px solid var(--border-color);margin-bottom:1.75rem;padding-bottom:1.5rem}.td-header-titlerow{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.td-header h1{color:var(--text-primary);font-size:1.85rem;margin:0 0 .4rem}.td-header-sub{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin:0;max-width:680px}.td-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.td-header-action-btn{align-items:center;background:#0ea5e91a;border:1px solid #0ea5e959;border-radius:8px;color:#7dd3fc;display:inline-flex;font-size:.9rem;font-weight:600;gap:.35rem;padding:.55rem 1rem;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}.td-header-action-btn:hover{background:#0ea5e92e;border-color:#0ea5e98c;text-decoration:none;transform:translateY(-1px)}.td-header-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr)}.td-stat{align-items:flex-start;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1.1rem}.td-stat-num{font-feature-settings:"tnum";color:#7dd3fc;font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.td-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.td-stat--warn{background:#fbbf2414;border-color:#fbbf244d}.td-stat--warn .td-stat-num{color:#fde68a}.td-stat--danger{background:#f8717114;border-color:#f8717159}.td-stat--danger .td-stat-num{color:#fca5a5}.td-stat--tier .td-stat-num{font-size:1.45rem}.td-stat--paid{background:#00b50914;border-color:#00b5094d}.td-stat--paid .td-stat-num{color:#4ade80}@media (max-width:700px){.td-header-stats{grid-template-columns:repeat(2,1fr)}}.qref-overlay{align-items:flex-start;animation:qref-fade .15s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:9999}@keyframes qref-fade{0%{opacity:0}to{opacity:1}}.qref-modal{animation:qref-pop .2s ease-out;background:#0f1419;background:var(--bg-color,#0f1419);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:16px;box-shadow:0 24px 64px #0009;display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:960px;overflow:hidden;width:100%}@keyframes qref-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.qref-header{align-items:flex-start;background:linear-gradient(180deg,#a855f714,#0000);border-bottom:1px solid #ffffff14;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 1.75rem 1rem}.qref-csa .qref-header{background:linear-gradient(180deg,#00b5091a,#0000)}.qref-eyebrow{background:#a855f726;border:1px solid #a855f74d;border-radius:20px;color:#c084fc;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;padding:.2rem .7rem;text-transform:uppercase}.qref-csa .qref-eyebrow{background:#00b50926;border-color:#00b50966;color:#4ade80}.qref-header h2{color:#fff;color:var(--text-primary,#fff);font-size:1.45rem;font-weight:800;margin:0}.qref-subtitle{color:#ffffffa6;color:var(--text-secondary,#ffffffa6);font-size:.9rem;margin:.3rem 0 0}.qref-close{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;flex-shrink:0;font-size:1.5rem;height:36px;line-height:1;transition:background .15s ease;width:36px}.qref-close:hover{background:#ffffff1f}.qref-toolbar{align-items:center;background:#ffffff05;border-bottom:1px solid #ffffff0f;display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.75rem}.qref-toolbtn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.82rem;font-weight:600;padding:.35rem .85rem;transition:background .15s ease}.qref-toolbtn:hover{background:#ffffff1a}.qref-toolbar-note{color:#ffffff8c;color:var(--text-secondary,#ffffff8c);font-size:.8rem;margin-left:auto}.qref-body{flex:1 1;overflow-y:auto;padding:1rem 1.75rem 2rem}.qref-section{background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;margin-bottom:.75rem;overflow:hidden}.qref-section.open{background:#ffffff08}.qref-section-head{align-items:center;background:#0000;border:0;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:1rem;font-weight:700;justify-content:space-between;padding:.9rem 1.1rem;text-align:left;transition:background .15s ease;width:100%}.qref-section-head:hover{background:#ffffff0a}.qref-section-title{align-items:center;display:inline-flex;gap:.6rem}.qref-chevron{color:#ffffff8c;color:var(--text-secondary,#ffffff8c);font-size:.9rem;transition:transform .15s ease}.qref-section-body{padding:0 1.1rem 1rem}.qref-section-note{background:#fbbf2414;border:1px solid #fbbf2440;border-radius:8px;color:#fde68a;font-size:.85rem;line-height:1.5;margin:0 0 .75rem;padding:.6rem .85rem}.qref-rows{display:flex;flex-direction:column;gap:.6rem}.qref-row{grid-gap:1rem;background:#0003;border:1px solid #ffffff0f;border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(240px,1fr) 1.3fr;padding:.85rem}.qref-code{align-self:start;background:#0006;border:1px solid #ffffff14;border-radius:6px;color:#e5e7eb;font-family:Fira Code,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.55;margin:0;padding:.7rem .85rem;white-space:pre-wrap;word-break:break-word}.qref-explain{color:#ffffffeb;color:var(--text-primary,#ffffffeb);font-size:.88rem;line-height:1.6}.qref-explain p{margin:0 0 .55rem}.qref-explain p:last-child{margin-bottom:0}.qref-footer-note{border-top:1px solid #ffffff0f;color:#ffffff80;color:var(--text-secondary,#ffffff80);font-size:.75rem;font-style:italic;margin:1.25rem 0 0;padding-top:1rem;text-align:center}.qref-open-btn{align-items:center;background:#a855f71f;border:1px solid #a855f759;border-radius:10px;color:#d8b4fe;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin:.5rem 0 1.25rem;padding:.55rem 1rem;transition:background .15s ease,transform .1s ease}.qref-open-btn:hover{background:#a855f738;transform:translateY(-1px)}.csa-exam-page .qref-open-btn,.mcq-practice-page .qref-open-btn{background:#00b5091f;border-color:#00b50966;color:#4ade80}.csa-exam-page .qref-open-btn:hover,.mcq-practice-page .qref-open-btn:hover{background:#00b50938}.qref-open-btn-icon{font-size:1.05rem}.qref-timer-btn{background:#a855f726;border:1px solid #a855f766;border-radius:8px;color:#d8b4fe;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:background .15s ease;white-space:nowrap}.qref-timer-btn:hover{background:#a855f747}.csa-exam-page .qref-timer-btn,.mcq-practice-page .qref-timer-btn{background:#00b50926;border-color:#00b50973;color:#4ade80}.csa-exam-page .qref-timer-btn:hover,.mcq-practice-page .qref-timer-btn:hover{background:#00b50942}@media (max-width:720px){.qref-overlay{padding:.75rem}.qref-modal{border-radius:12px;max-height:calc(100vh - 1.5rem)}.qref-header{padding:1.1rem 1.1rem .8rem}.qref-header h2{font-size:1.2rem}.qref-toolbar{padding:.6rem 1rem}.qref-toolbar-note{flex-basis:100%;margin-left:0}.qref-body{padding:.75rem 1rem 1.5rem}.qref-row{gap:.6rem;grid-template-columns:1fr}.qref-code{font-size:.8rem}}.exam-page{margin:0 auto;max-width:1200px;padding:2rem}.exam-intro-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;margin:0 auto;max-width:680px;padding:3rem 2.5rem;text-align:center}.exam-hero-label{background:#a855f726;border:1px solid #a855f74d;border-radius:20px;color:#a855f7;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1rem;padding:.3rem .85rem;text-transform:uppercase}.exam-resource-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.exam-intro-card h1{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.25rem}.exam-intro-sub{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem}.exam-intro-stats{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem}.exam-stat{align-items:center;display:flex;flex-direction:column;gap:.25rem}.exam-stat span{color:var(--primary-color);font-size:1.75rem;font-weight:700}.exam-stat label{color:var(--text-secondary);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.exam-intro-rules{background:var(--bg-secondary);border-radius:8px;list-style:none;margin-bottom:2rem;padding:1.25rem 1.5rem;text-align:left}.exam-intro-rules li{color:var(--text-secondary);font-size:.925rem;padding:.3rem 0}.exam-intro-rules li:before{color:var(--primary-color);content:"• "}.exam-past-attempts{margin-top:2.5rem;text-align:left}.exam-past-attempts h3{color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.attempts-table{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.attempt-row,.attempts-header{display:grid;font-size:.875rem;grid-template-columns:1fr 2fr 1fr;padding:.625rem 1rem}.attempts-header{background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.attempt-row{border-top:1px solid var(--border-color);color:var(--text-primary)}.attempt-row .pass{color:var(--success-color);font-weight:600}.attempt-row .fail{color:var(--error-color);font-weight:600}.exam-active{max-width:100%;padding:0}.exam-timer-bar{align-items:center;background:#0a0a0a;border-bottom:1px solid var(--border-color);display:flex;gap:1.5rem;padding:.75rem 2rem;position:-webkit-sticky;position:sticky;top:56px;z-index:100}.exam-timer-label{color:var(--text-primary);font-size:.9rem;font-weight:700}.exam-timer-time{font-feature-settings:"tnum";font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;min-width:100px}.exam-timer-progress{color:var(--text-secondary);flex:1 1;font-size:.875rem}.exam-body{grid-gap:0;display:grid;gap:0;grid-template-columns:200px 1fr;min-height:calc(100vh - 112px)}.exam-sidebar{background:#0a0a0a;border-right:1px solid var(--border-color);height:calc(100vh - 112px);overflow-y:auto;padding:1.5rem 1rem;position:-webkit-sticky;position:sticky;top:112px}.exam-sidebar-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.exam-grid{grid-gap:.375rem;display:grid;gap:.375rem;grid-template-columns:repeat(4,1fr)}.exam-grid-btn{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;height:36px;transition:all .15s;width:36px}.exam-grid-btn.active,.exam-grid-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.exam-grid-btn.active{background:#00b50926}.exam-grid-btn.answered{background:#00b50914;border-color:#00b5094d;color:var(--text-primary)}.exam-grid-btn.active.answered{background:#00b50933}.exam-question-area{max-width:800px;padding:2rem 3rem}.exam-q-meta{color:var(--text-secondary);font-size:.8rem;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.exam-q-text{color:var(--text-primary);font-size:1.3rem;font-weight:600;line-height:1.55;margin-bottom:1.75rem;white-space:pre-wrap}.exam-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.exam-option{align-items:flex-start;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:.875rem 1rem;text-align:left;transition:all .15s;width:100%}.exam-option:hover{background:#00b5090d;border-color:var(--primary-color)}.exam-option.selected{background:#00b5091f;border-color:var(--primary-color)}.exam-opt-letter{color:var(--text-secondary);font-size:.9rem;font-weight:700;min-width:22px}.exam-option.selected .exam-opt-letter{color:var(--primary-color)}.exam-opt-text{color:var(--text-primary);flex:1 1;font-size:.95rem;line-height:1.5;min-width:0;white-space:pre-wrap}.exam-opt-text>pre{box-sizing:border-box;margin:0;max-width:100%;width:100%}.exam-q-nav{display:flex;gap:1rem}.exam-results{margin:0 auto;max-width:800px;padding:2rem 0;text-align:center}.exam-score-circle{align-items:center;border:4px solid;border-radius:50%;display:flex;flex-direction:column;height:160px;justify-content:center;margin:0 auto 1.5rem;width:160px}.exam-score-circle.pass{background:#10b9811a;border-color:var(--success-color)}.exam-score-circle.fail{background:#ef444414;border-color:var(--error-color)}.exam-ap-score-circle{align-items:center;border:5px solid;border-radius:50%;box-shadow:0 8px 28px #00000040;box-sizing:border-box;display:flex;flex-direction:column;font-weight:700;height:9.5rem;justify-content:center;margin:.5rem auto 1rem;padding:.5rem;position:relative;width:9.5rem}.exam-ap-score-circle:before{border:1px dashed;border-radius:50%;content:"";inset:6px;opacity:.25;pointer-events:none;position:absolute}.exam-ap-score-circle.ap-5{background:radial-gradient(circle,#10b9812e,#10b9810a);border-color:#10b981;color:#10b981}.exam-ap-score-circle.ap-4{background:radial-gradient(circle,#84cc162e,#84cc160a);border-color:#84cc16;color:#84cc16}.exam-ap-score-circle.ap-3{background:radial-gradient(circle,#f59e0b2e,#f59e0b0a);border-color:#f59e0b;color:#f59e0b}.exam-ap-score-circle.ap-1,.exam-ap-score-circle.ap-2{background:radial-gradient(circle,#ef44442e,#ef44440a);border-color:#ef4444;color:#ef4444}.exam-ap-score-circle .ap-label-top{font-size:.62rem;font-weight:700;letter-spacing:.12em;line-height:1;margin-bottom:.15rem;opacity:.85;text-transform:uppercase}.exam-ap-score-circle .ap-value{font-feature-settings:"tnum";font-size:3.75rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.exam-ap-score-circle .ap-label{font-size:.6rem;font-weight:600;letter-spacing:.14em;margin-top:.2rem;opacity:.8;text-transform:uppercase}.exam-ap-score-band{color:var(--text-secondary);font-size:.95rem;font-weight:600;letter-spacing:.02em;margin-bottom:1.25rem;text-align:center}.exam-score-pct{color:var(--text-primary);font-size:2.5rem;font-weight:800}.exam-score-label{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.05em}.exam-results h2{font-size:1.5rem;margin-bottom:.5rem}.exam-score-sub{color:var(--text-secondary);margin-bottom:2rem}.exam-breakdown{margin-top:3rem;text-align:left}.exam-breakdown h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1.25rem}.exam-breakdown-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.25rem}.exam-breakdown-header h3{margin:0}.exam-filter-toggle{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;display:inline-flex;gap:3px;padding:3px}.exam-filter-btn{background:#0000;border:none;border-radius:7px;color:#a8a8b8;color:var(--text-secondary,#a8a8b8);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:background .15s ease,color .15s ease}.exam-filter-btn:hover{color:#e6e6f0;color:var(--text-primary,#e6e6f0)}.exam-filter-btn.active{background:linear-gradient(135deg,#a855f7,#8b5cf6);box-shadow:0 2px 8px #a855f759;color:#fff}.exam-filter-empty{background:#ffffff08;border:1px dashed #ffffff1a;border-radius:10px;color:#a8a8b8;color:var(--text-secondary,#a8a8b8);font-size:1rem;padding:2rem 1rem;text-align:center}.exam-result-item{border-left:4px solid;border-radius:8px;margin-bottom:.75rem;padding:1rem 1.25rem}.exam-result-item.correct{background:#10b9810d;border-left-color:var(--success-color)}.exam-result-item.wrong{background:#ef44440d;border-left-color:var(--error-color)}.eri-header{align-items:flex-start;display:flex;gap:.75rem}.eri-icon{flex-shrink:0;font-weight:700;margin-top:.1rem}.exam-result-item.correct .eri-icon{color:var(--success-color)}.exam-result-item.wrong .eri-icon{color:var(--error-color)}.eri-num{color:var(--text-secondary);flex-shrink:0;font-size:.875rem;font-weight:600;white-space:nowrap}.eri-q{color:var(--text-primary);font-size:.925rem;line-height:1.5;white-space:pre-wrap}.eri-detail{border-top:1px solid var(--border-color);margin-left:2.5rem;margin-top:.75rem;padding-top:.75rem}.eri-detail p{color:var(--text-secondary);font-size:.875rem;margin-bottom:.3rem;white-space:pre-wrap}.eri-wrong-label{color:var(--error-color);font-weight:600}.eri-correct-label{color:var(--success-color);font-weight:600}.eri-explain{background:var(--bg-secondary);border-radius:4px;font-style:italic;margin-top:.5rem;padding:.5rem}.exam-format-info{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.exam-format-info p{margin-bottom:.5rem}.exam-format-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.exam-format-grid span{background:var(--bg-secondary);border-radius:6px;color:var(--text-primary);font-size:.8rem;font-weight:600;padding:.3rem .75rem}.exam-type-breakdown{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.etb-item{color:var(--text-secondary);font-size:.85rem}.etb-item span{color:var(--primary-color);font-weight:700}.exam-cards-grid{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;margin-top:1.5rem;text-align:left}.exam-card{background:#b8cfe5;border:1px solid #9bb5d0;border-radius:3px;box-shadow:2px 3px 8px #00000059;cursor:pointer;display:flex;flex-direction:column;height:176px;padding:.85rem .7rem .6rem;position:relative;transition:all .25s;width:136px}.exam-card:before{background:linear-gradient(225deg,#fff 50%,#95b3d0 0);border-bottom-left-radius:3px;content:"";height:18px;position:absolute;right:0;top:0;transition:width .3s ease,height .3s ease;width:18px}.exam-card:hover{box-shadow:4px 6px 16px #00000080;transform:translateY(-4px)}.exam-card:hover:before{height:32px;width:32px}.exam-card.passed{border-color:#10b98199}.exam-card.passed:after{color:#0f5d2a;content:"✓";font-size:.7rem;font-weight:700;left:.5rem;position:absolute;top:.4rem}.exam-card-header{align-items:center;border-bottom:1.5px solid #8bacc8;display:flex;gap:.4rem;margin-bottom:.3rem;padding-bottom:.35rem}.exam-card-header h3{color:#1a1a1a;font-size:.85rem;font-weight:800;margin:0}.exam-card-desc{color:#1f2d3d;font-size:.65rem;line-height:1.45;margin-bottom:auto;margin-top:.25rem}.exam-card-footer{border-top:none;margin-top:auto;padding-top:0}.exam-card-pills{display:flex;flex-wrap:wrap;gap:.35rem}.exam-pill{border-radius:3px;font-size:.6rem;font-weight:600;padding:.1rem .3rem}.exam-pill.pass{background:#dcfce7;color:#166534}.exam-pill.fail{background:#fee2e2;color:#991b1b}.exam-pill.more{background:#e5e5e5;color:#4a4a4a}.exam-card-best{font-size:.6rem;font-weight:600;margin-top:.2rem}.exam-card-best.pass{color:#166534}.exam-card-best.fail{color:#991b1b}.exam-card-not-tried{color:#1e4a8a;font-size:.65rem;font-style:italic;font-weight:600}.exam-card.locked{filter:grayscale(.3);opacity:.55}.exam-card.locked:hover{box-shadow:2px 3px 8px #00000059;transform:none}.exam-card-lock{background:#e5e5e5;border:1px solid #999;color:#4a4a4a;font-weight:600}.exam-card-free-badge,.exam-card-lock{border-radius:999px;font-size:.55rem;letter-spacing:.05em;margin-left:auto;padding:.1rem .35rem;text-transform:uppercase}.exam-card-free-badge{background:#dcfce7;color:#166534;font-weight:700}.exam-card-cta-link{color:#5b21b6;font-size:.6rem;font-weight:600;text-decoration:none;transition:color .15s}.exam-card-cta-link:hover{color:#3a0d8a;text-decoration:underline}.exam-access-cta{background:var(--bg-secondary);border-radius:12px;margin-top:2rem;padding:1.5rem;text-align:center}.exam-access-cta p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.exam-access-btns{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.exam-lifetime-stats{background:var(--bg-secondary);border-radius:12px;margin:2rem 0 1rem;padding:1rem 1.5rem;text-align:left}.els-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:inherit;gap:.5rem;justify-content:center;padding:0;width:100%}.els-toggle,.els-toggle h3{color:var(--text-secondary)}.els-toggle h3{font-size:.85rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.els-toggle:hover .els-chevron,.els-toggle:hover h3{color:var(--text-primary)}.els-chevron{font-size:.7rem;transition:color .2s}.els-chevron,.els-empty{color:var(--text-secondary)}.els-empty{font-size:.9rem;margin-top:1rem;opacity:.8;text-align:center}.els-summary{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1.25rem;margin-top:1.25rem;text-align:center}.els-stat{display:flex;flex-direction:column;gap:.15rem}.els-val{color:var(--primary-color);font-size:1.3rem;font-weight:700}.els-stat label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.els-practice-grid{display:flex;flex-direction:column;gap:.5rem}.els-practice-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:1fr 120px 60px}.els-practice-label{align-items:center;display:flex;gap:.4rem}.els-practice-num{background:#00b5091a;border-radius:4px;color:var(--primary-color);font-size:.75rem;font-weight:700;padding:.1rem .35rem}.els-practice-name{color:var(--text-secondary);font-size:.8rem}.els-bar-wrap{background:#ffffff0f;border-radius:4px;height:8px;overflow:hidden}.els-bar{border-radius:4px;height:100%;transition:width .3s}.els-practice-score{color:var(--text-primary);font-size:.8rem;font-weight:600;text-align:right}.exam-practice-breakdown{background:var(--bg-secondary);border-radius:12px;margin:2rem 0;padding:1.5rem;text-align:left}.exam-practice-breakdown h3{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.epb-grid{display:flex;flex-direction:column;gap:.6rem}.epb-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:1fr 150px 80px}.epb-label{align-items:center;display:flex;gap:.5rem}.epb-num{background:#00b5091a;border-radius:4px;color:var(--primary-color);font-size:.8rem;font-weight:700;padding:.15rem .4rem}.epb-name{color:var(--text-secondary);font-size:.85rem}.epb-bar-wrap{background:#ffffff0f;border-radius:5px;height:10px;overflow:hidden}.epb-bar{border-radius:5px;height:100%;transition:width .3s}.epb-score{color:var(--text-primary);font-size:.85rem;font-weight:600;text-align:right}.eri-practice-tag{background:#00b5091a;color:var(--primary-color)}.eri-multi-tag,.eri-practice-tag{border-radius:3px;flex-shrink:0;font-size:.65rem;font-weight:700;padding:.1rem .35rem}.eri-multi-tag{background:#f59e0b1a;color:#f59e0b}.eri-passage-tag{background:#60a5fa1a;border-radius:3px;color:#60a5fa;flex-shrink:0;font-size:.65rem;font-weight:700;padding:.1rem .35rem}.exam-passage-bar{border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.exam-passage-toggle{align-items:center;background:#60a5fa14;border:none;color:#60a5fa;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:.75rem 1rem;text-align:left;width:100%}.exam-passage-toggle:hover{background:#60a5fa1f}.exam-passage-body{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:1.25rem}.exam-passage-body h4{color:#60a5fa;font-size:1rem;margin-bottom:.75rem}.exam-passage-body p{color:var(--text-secondary);font-size:.9rem;line-height:1.65;margin-bottom:.75rem}.exam-q-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-left:.75rem;padding:.15rem .5rem;text-transform:uppercase;vertical-align:middle}.exam-q-badge.multi{background:#f59e0b26;color:#f59e0b}.exam-q-badge.passage{background:#60a5fa26;color:#60a5fa}.exam-option.multi-opt.selected{background:#f59e0b1a;border-color:#f59e0b}.exam-option.multi-opt.selected .exam-opt-letter{color:#f59e0b}.exam-opt-check{color:#f59e0b;font-weight:700;margin-left:auto}.exam-multi-hint{color:var(--text-secondary);font-size:.8rem;font-style:italic;margin-bottom:1.5rem}.exam-grid-btn.multi{border-style:dashed}@media (max-width:768px){.exam-page{padding:1rem}.exam-intro-card{padding:2rem 1.25rem}.exam-intro-stats{gap:1rem}.exam-body{grid-template-columns:1fr}.exam-sidebar{border-bottom:1px solid var(--border-color);border-right:none;height:auto;padding:1rem;position:static}.exam-question-area{padding:1.5rem 1rem}.exam-q-text{font-size:1.1rem}.exam-timer-bar{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.exam-timer-time{font-size:1.25rem}.epb-row,.exam-cards-grid{grid-template-columns:1fr}.epb-row{gap:.25rem}.epb-bar-wrap{width:100%}.epb-score{text-align:left}.els-practice-row{gap:.25rem;grid-template-columns:1fr}.els-bar-wrap{width:100%}.els-practice-score{text-align:left}.els-summary{gap:1rem}}.exam-pause-btn{align-items:center;background:#ffffff0a;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;padding:.45rem .85rem;transition:all .15s}.exam-pause-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.exam-paused-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000c7;display:flex;inset:0;justify-content:center;position:fixed;z-index:900}.exam-paused-card{background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:420px;padding:2rem 2.5rem;text-align:center}.exam-paused-card h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 .5rem}.exam-paused-card p{color:var(--text-secondary);line-height:1.5;margin:0 0 1.5rem}.exam-flag-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;letter-spacing:0;margin-left:auto;padding:.35rem .7rem;text-transform:none;transition:all .15s}.exam-flag-btn.active,.exam-flag-btn:hover{border-color:#f59e0b;color:#f59e0b}.exam-flag-btn.active{background:#f59e0b26}.exam-q-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.exam-grid-btn{position:relative}.exam-grid-btn.flagged{border-color:#f59e0b8c}.exam-grid-flag{color:#f59e0b;font-size:.65rem;line-height:1;pointer-events:none;position:absolute;right:-2px;top:-4px}.exam-option-row{align-items:stretch;display:flex;gap:.5rem}.exam-option-row .exam-option{flex:1 1}.exam-option.eliminated{opacity:.55;text-decoration:line-through}.exam-option.eliminated .exam-opt-letter{opacity:.5}.exam-eliminate-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:.95rem;font-weight:700;transition:all .15s;width:38px}.exam-eliminate-btn.active,.exam-eliminate-btn:hover{border-color:#ef4444;color:#ef4444}.exam-eliminate-btn.active{background:#ef444426}.csa-exam-page .exam-hero-label{background-color:#00b5091f;color:#00b509}.csa-section-strip{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0 1.25rem}.csa-section-step{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:.5rem;padding:.4rem .75rem}.csa-section-step.active{background:#00b5091f;border-color:#00b50959;color:#00b509}.csa-section-step.done{background:#10b9811a;border-color:#10b98159;color:#10b981}.csa-section-arrow{color:var(--text-secondary);font-size:.75rem;opacity:.5}.csa-frq-card{background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.csa-frq-card,.csa-frq-card code,.csa-frq-card h2,.csa-frq-card h3,.csa-frq-card h4,.csa-frq-card label,.csa-frq-card li,.csa-frq-card ol,.csa-frq-card p,.csa-frq-card pre,.csa-frq-card ul{text-align:left}.csa-frq-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.csa-frq-title{color:var(--text-primary);font-size:1.25rem;margin:0}.csa-frq-topic-pill{background:#06b6d41f;color:#06b6d4;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.csa-frq-points-pill,.csa-frq-topic-pill{border-radius:999px;display:inline-block;padding:.25rem .6rem;white-space:nowrap}.csa-frq-points-pill{background:#00b5091f;color:#00b509;font-size:.75rem;font-weight:700}.csa-frq-prompt{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin:.75rem 0}.csa-frq-prompt p{margin:0 0 .75rem}.csa-frq-prompt ol,.csa-frq-prompt ul{margin:.5rem 0;padding-left:1.25rem}.csa-frq-prompt li{margin:.25rem 0}.csa-frq-prompt code,.csa-frq-stub code{background:#ffffff14;border-radius:3px;color:#06b6d4;font-family:Menlo,Consolas,monospace;font-size:.9em;padding:.1em .35em}.csa-frq-stub{background:#0b1220;border:1px solid #94a3b82e;border-radius:10px;box-shadow:inset 0 1px 0 #ffffff0a;margin:.9rem 0;overflow-x:auto;padding:1rem 1.15rem;position:relative;text-align:left}.csa-frq-stub:before{color:#94a3b8b3;content:"Java";font-size:.65rem;font-weight:600;letter-spacing:.08em;pointer-events:none;position:absolute;right:.7rem;text-transform:uppercase;top:.4rem}.csa-frq-stub.csp:before{content:"AP CSP Pseudocode"}.csa-frq-stub code,.csa-frq-stub pre{background:#0000;color:#e2e8f0;display:block;font-family:Menlo,Consolas,Monaco,monospace;font-size:.86rem;line-height:1.6;margin:0;padding:0;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre}.csa-frq-stub pre code{font-size:inherit}.csa-code-editor{font-family:Menlo,Consolas,Monaco,monospace;font-size:.9rem;min-height:320px}.csa-frq-editor-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;margin:1rem 0 .5rem}.csa-frq-editor-hint{color:var(--text-secondary);font-size:.75rem;opacity:.8}.csa-frq-nav{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:1rem}.csa-frq-q-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}.csa-frq-q-tab{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .15s ease}.csa-frq-q-tab:hover{border-color:#00b50959;color:var(--text-primary)}.csa-frq-q-tab.active{background:#00b5091f;border-color:#00b50980;color:#00b509;font-weight:600}.csa-frq-q-tab.answered{border-color:#10b98166}.csa-frq-q-tab.answered:after{color:#10b981;content:" ●"}.csa-frq-rubric{background:linear-gradient(180deg,#00b5090a,#0003);border:1px solid #00b50938;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff0a;margin-top:1.75rem;padding:1.5rem;text-align:left}.csa-frq-rubric-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.15rem;padding-bottom:.9rem}.csa-frq-rubric-header h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.05rem;gap:.5rem;margin:0}.csa-frq-rubric-header h4:before{background:#00b509;border-radius:2px;content:"";display:inline-block;height:1.05rem;width:.4rem}.csa-frq-rubric-score{align-items:baseline;background:#00b5091a;border:1px solid #00b5094d;border-radius:999px;display:inline-flex;gap:.25rem;padding:.35rem .85rem}.csa-frq-earned{font-feature-settings:"tnum";color:#10b981;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.csa-frq-slash{opacity:.5}.csa-frq-slash,.csa-frq-total{color:var(--text-secondary);font-size:1rem}.csa-frq-label,.csa-frq-total{font-weight:600}.csa-frq-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.06em;margin-left:.4rem;text-transform:uppercase}.csa-frq-solution-wrap{margin-bottom:1.25rem;text-align:left}.csa-frq-solution-toggle{align-items:center;background:#06b6d414;border:1px solid #06b6d459;border-radius:8px;color:#06b6d4;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.5rem;padding:.5rem .95rem;transition:all .15s ease}.csa-frq-solution-toggle:before{content:"</>";font-family:Menlo,Consolas,monospace;opacity:.85}.csa-frq-solution-toggle:hover{background:#06b6d429;border-color:#06b6d499;color:#22d3ee;transform:translateY(-1px)}.csa-frq-solution{word-wrap:break-word;background:#0b1220;border:1px solid #94a3b82e;border-radius:10px;color:#e2e8f0;display:block;font-family:Menlo,Consolas,Monaco,monospace;font-size:.84rem;line-height:1.6;margin:.75rem 0 0;overflow-wrap:anywhere;overflow-x:auto;padding:1rem 1.15rem;position:relative;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.csa-frq-solution:before{border-bottom:1px dashed #94a3b82e;color:#94a3b8b3;content:"Sample solution";display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.08em;margin-bottom:.6rem;padding-bottom:.5rem;text-transform:uppercase}.csa-frq-solution code{background:#0000;color:inherit;display:block;font:inherit;overflow-wrap:inherit;padding:0;text-align:left;white-space:inherit}.csa-frq-rubric-list{display:flex;flex-direction:column;gap:.6rem;list-style:none!important;margin:0!important;padding:0!important}.csa-frq-rubric-item,.csa-frq-rubric-list li{list-style:none!important;list-style-type:none!important}.csa-frq-rubric-item:before,.csa-frq-rubric-list:before{content:none!important}.csa-frq-rubric-item{background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;padding:.85rem 1rem;transition:all .18s ease}.csa-frq-rubric-item:hover{background:#ffffff0a;border-color:#94a3b840}.csa-frq-rubric-item.checked{background:#10b98114;border-color:#10b98166;box-shadow:inset 0 0 0 1px #10b98126}.csa-frq-rubric-item.checked .csa-frq-rubric-desc{color:#d1fae5}.csa-frq-rubric-item.checked .csa-frq-rubric-pts{color:#10b981}.csa-frq-rubric-label{align-items:flex-start;cursor:pointer;display:flex;gap:.9rem;margin:0}.csa-frq-rubric-label input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#0f172a80;border:2px solid #94a3b873;border-radius:6px;cursor:pointer;flex-shrink:0;height:1.35rem;margin:.1rem 0 0;padding:0;position:relative;transition:all .15s ease;width:1.35rem}.csa-frq-rubric-label input[type=checkbox]:hover{background:#10b98114;border-color:#10b981b3}.csa-frq-rubric-label input[type=checkbox]:checked{background:#10b981;border-color:#10b981;box-shadow:0 2px 8px #10b98159}.csa-frq-rubric-label input[type=checkbox]:checked:after{border:solid #0b1220;border-width:0 2.5px 2.5px 0;content:"";height:11px;left:50%;position:absolute;top:50%;transform:translate(-50%,-60%) rotate(45deg);width:6px}.csa-frq-rubric-label input[type=checkbox]:focus-visible{outline:2px solid #10b98180;outline-offset:2px}.csa-frq-rubric-label input[type=checkbox]:disabled{cursor:default;opacity:.7}.csa-frq-rubric-text{align-items:baseline;color:var(--text-primary);display:flex;flex:1 1;flex-wrap:wrap;font-size:.92rem;gap:.75rem;line-height:1.55}input.green-check[type=checkbox]{appearance:none;-webkit-appearance:none;background:#0f172a80;border:2px solid #94a3b873;border-radius:6px;cursor:pointer;flex-shrink:0;height:1.35rem;margin:.1rem 0 0;padding:0;position:relative;transition:all .15s ease;width:1.35rem}input.green-check[type=checkbox]:hover{background:#10b98114;border-color:#10b981b3}input.green-check[type=checkbox]:checked{background:#10b981;border-color:#10b981;box-shadow:0 2px 8px #10b98159}input.green-check[type=checkbox]:checked:after{border:solid #0b1220;border-width:0 2.5px 2.5px 0;content:"";height:11px;left:50%;position:absolute;top:50%;transform:translate(-50%,-60%) rotate(45deg);width:6px}input.green-check[type=checkbox]:focus-visible{outline:2px solid #10b98180;outline-offset:2px}input.green-check[type=checkbox]:disabled{cursor:default;opacity:.7}.csa-frq-rubric-desc{color:var(--text-primary);flex:1 1;min-width:0}.csa-frq-rubric-pts{background:#ffffff0f;border-radius:999px;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:.15rem .55rem;white-space:nowrap}.csa-frq-decision-rules{border-left:2px solid #94a3b833;color:var(--text-secondary);font-size:.8rem;line-height:1.6;list-style:none!important;margin:.7rem 0 0 2.25rem;padding:0 0 0 .85rem}.csa-frq-decision-rules li{list-style:none!important;margin:.25rem 0;padding-left:.8rem;position:relative}.csa-frq-decision-rules li:before{color:#94a3b880;content:"→";font-weight:700;left:0;position:absolute}.csa-selfgrade-summary{align-items:center;background:#00b5090f;border:1px solid #00b50933;border-radius:10px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:1.25rem 0;padding:1rem 1.25rem;text-align:left}.csa-selfgrade-summary>div{text-align:left}.csa-selfgrade-summary strong{color:var(--text-primary)}.csa-frq-q-tabs{justify-content:flex-start;text-align:left}.csa-composite-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:1rem 0 1.5rem}.csa-composite-stat{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;padding:1rem;text-align:center}.csa-composite-stat .cs-label{color:var(--text-secondary);display:block;font-size:.7rem;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.csa-composite-stat .cs-value{font-feature-settings:"tnum";color:var(--text-primary);display:block;font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:700}.csa-composite-stat .cs-sub{color:var(--text-secondary);display:block;font-size:.75rem;margin-top:.25rem}.csa-ap-score-circle{align-items:center;border:5px solid;border-radius:50%;box-shadow:0 8px 28px #00000040;box-sizing:border-box;display:flex;flex-direction:column;font-weight:700;height:9.5rem;justify-content:center;margin:.5rem auto 1.25rem;padding:.5rem;position:relative;width:9.5rem}.csa-ap-score-circle:before{border:1px dashed;border-radius:50%;content:"";inset:6px;opacity:.25;pointer-events:none;position:absolute}.csa-ap-score-circle.ap-5{background:radial-gradient(circle,#10b9812e,#10b9810a);border-color:#10b981;color:#10b981}.csa-ap-score-circle.ap-4{background:radial-gradient(circle,#00b5092e,#00b5090a);border-color:#00b509;color:#00b509}.csa-ap-score-circle.ap-3{background:radial-gradient(circle,#f59e0b2e,#f59e0b0a);border-color:#f59e0b;color:#f59e0b}.csa-ap-score-circle.ap-1,.csa-ap-score-circle.ap-2{background:radial-gradient(circle,#ef44442e,#ef44440a);border-color:#ef4444;color:#ef4444}.csa-ap-score-circle .ap-label-top{font-size:.62rem;font-weight:700;letter-spacing:.12em;line-height:1;margin-bottom:.15rem;opacity:.85;text-transform:uppercase}.csa-ap-score-circle .ap-value{font-feature-settings:"tnum";font-size:3.75rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.csa-ap-score-circle .ap-label{font-size:.6rem;font-weight:600;letter-spacing:.14em;margin-top:.2rem;opacity:.8;text-transform:uppercase}.csa-ap-score-band{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem;text-align:center}.csa-unit-breakdown{background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;margin:1.25rem 0;padding:1rem 1.25rem}.csa-unit-breakdown h3{color:var(--text-primary);font-size:.95rem;margin:0 0 .75rem}.csa-unit-row{grid-gap:.75rem;align-items:center;display:grid;font-size:.8rem;gap:.75rem;grid-template-columns:90px 1fr 72px;margin:.4rem 0}.csa-unit-label{color:var(--text-primary);font-weight:500}.csa-unit-bar-wrap{background:#ffffff0f;border-radius:4px;height:.65rem;overflow:hidden}.csa-unit-bar{border-radius:4px;height:100%;transition:width .4s ease}.csa-unit-score{font-feature-settings:"tnum";color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}.csa-locked-card{padding:2rem 1.5rem;text-align:center}.csa-locked-card h1{color:var(--text-primary);margin:.5rem 0}@media (max-width:720px){.csa-frq-card{padding:1rem}.csa-frq-header{align-items:flex-start;flex-direction:column}.csa-code-editor{font-size:.82rem;min-height:260px}.csa-unit-row{font-size:.75rem;grid-template-columns:70px 1fr 60px}}.exam-leave-overlay{align-items:center;animation:examLeaveFadeIn .15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10000}@keyframes examLeaveFadeIn{0%{opacity:0}to{opacity:1}}.exam-leave-modal{animation:examLeavePop .22s cubic-bezier(.2,.9,.3,1.2);background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:14px;box-shadow:0 20px 60px #00000080;max-width:460px;padding:1.75rem 2rem 1.5rem;text-align:center;width:100%}@keyframes examLeavePop{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.exam-leave-icon{align-items:center;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;box-shadow:0 6px 18px #ef444459;color:#fff;display:flex;font-size:1.75rem;font-weight:800;height:56px;justify-content:center;margin:0 auto 1rem;width:56px}.exam-leave-icon-danger{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 6px 18px #b91c1c73}.exam-leave-title{color:#e6e6f0;color:var(--text-primary,#e6e6f0);font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.exam-leave-message{color:#a8a8b8;color:var(--text-secondary,#a8a8b8);font-size:.95rem;line-height:1.55;margin:0 0 1.5rem}.exam-leave-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.exam-leave-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;flex:1 1;font-family:inherit;font-size:.95rem;font-weight:600;min-width:140px;padding:.7rem 1.1rem;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.exam-leave-btn:focus-visible{outline:2px solid #a855f7;outline-offset:2px}.exam-leave-btn-stay{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b98159;color:#fff}.exam-leave-btn-stay:hover{box-shadow:0 6px 18px #10b98173;transform:translateY(-1px)}.exam-leave-btn-leave{background:#0000;border-color:#f8717180;color:#f87171}.exam-leave-btn-leave:hover{background:#f871711a;border-color:#f87171cc}.exam-leave-btn-save{background:#6366f126;border-color:#6366f18c;color:#c7d2fe}.exam-leave-btn-save:hover:not(:disabled){background:#6366f140;border-color:#6366f1d9;transform:translateY(-1px)}.exam-leave-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}@media (max-width:480px){.exam-leave-modal{padding:1.5rem 1.25rem 1.25rem}.exam-leave-actions{flex-direction:column-reverse}.exam-leave-btn{width:100%}}.assignment-item-nav{align-items:center;background:linear-gradient(180deg,#00b50914,#00b5090a);border:1px solid #00b50947;border-radius:10px;display:flex;flex-wrap:wrap;font-size:.88rem;gap:.75rem;margin:0 auto 1.25rem;max-width:1100px;padding:.65rem 1rem}.ain-back{background:#0000;border:1px solid #00b50959;border-radius:6px;color:#00b509;color:var(--primary-color,#00b509);font-weight:600;padding:.3rem .55rem;text-decoration:none;white-space:nowrap}.ain-back:hover{background:#00b5091a}.ain-center{align-items:center;display:flex;flex:1 1 auto;gap:.5rem;min-width:0}.ain-title{color:var(--text-primary);font-weight:700;max-width:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ain-sep{opacity:.6}.ain-position,.ain-sep{color:var(--text-secondary)}.ain-position{font-weight:600;white-space:nowrap}.ain-actions{display:flex;flex-shrink:0;gap:.4rem}.ain-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-block;font:inherit;font-size:.85rem;font-weight:600;padding:.4rem .85rem;text-decoration:none;transition:border-color .15s,background .15s,color .15s}.ain-btn:hover{color:#00b509;color:var(--primary-color,#00b509)}.ain-btn-primary,.ain-btn:hover{border-color:#00b509;border-color:var(--primary-color,#00b509)}.ain-btn-primary{background:#00b509;background:var(--primary-color,#00b509);color:#fff}.ain-btn-primary:hover{background:#00a000;color:#fff}.ain-btn-ghost{opacity:.75}@media (max-width:720px){.assignment-item-nav{align-items:stretch;flex-direction:column}.ain-center{order:-1}.ain-actions{justify-content:space-between}}.nfp-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.nfp-card{background:#ffffff08;border:1px solid var(--border-color);border-radius:16px;max-width:520px;padding:3rem 2.5rem;text-align:center}.nfp-icon{font-size:3rem;margin-bottom:1rem}.nfp-title{color:var(--text-primary);font-size:1.75rem;font-weight:800;margin-bottom:.75rem}.nfp-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.25rem}.nfp-reasons{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left}.nfp-reasons li{color:var(--text-secondary);font-size:.88rem;line-height:1.45;padding:.4rem 0 .4rem 1.5rem;position:relative}.nfp-reasons li:before{color:var(--text-secondary);content:"\2022";left:.5rem;position:absolute}.nfp-fix{background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem;text-align:left}.nfp-fix h3{color:#f59e0b;font-size:.85rem;font-weight:700;margin:0 0 .4rem}.nfp-fix p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.nfp-fix kbd{background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;color:var(--text-primary);display:inline-block;font-family:ui-monospace,monospace;font-size:.8rem;font-weight:600;padding:.15rem .45rem}.nfp-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media (max-width:480px){.nfp-card{padding:2rem 1.5rem}.nfp-title{font-size:1.35rem}.nfp-actions{flex-direction:column}.nfp-actions .btn{text-align:center}}.module-page{margin:0 auto;max-width:1000px;padding:3rem 2rem}.back-link{align-items:center;color:var(--primary-color);display:inline-flex;font-weight:500;margin-bottom:2rem;transition:transform .2s}.back-link:hover{text-decoration:none;transform:translateX(-4px)}.module-page .module-header{background:linear-gradient(135deg,#00b50921,#0000 70%);background:linear-gradient(135deg,var(--course-accent-soft,#00b50921) 0,#0000 70%);border-radius:14px;border-top:4px solid #00b509;border-top:4px solid var(--course-accent,#00b509);box-shadow:inset 0 1px 0 #ffffff0a,0 12px 28px -22px #0006;box-shadow:0 1px 0 #ffffff0a inset,0 12px 28px -22px var(--course-accent,#0006);margin-bottom:3rem;padding:1.5rem 1.75rem 1.75rem;position:relative}.module-course-chip{align-items:center;background:#00b50921;background:var(--course-accent-soft,#00b50921);border:1px solid #00b5094d;border:1px solid var(--course-accent-mid,#00b5094d);border-radius:999px;color:#00b509;color:var(--course-accent,#00b509);display:inline-flex;font-size:.72rem;font-weight:700;gap:.45rem;letter-spacing:.08em;margin-bottom:.85rem;padding:.28rem .7rem;text-transform:uppercase;white-space:nowrap}.module-course-chip-icon{font-size:.9rem;line-height:1}.module-course-chip-label{line-height:1}.module-page .module-header h1{color:var(--text-primary);font-size:2.5rem;margin:0 0 .6rem;padding-bottom:.6rem;position:relative}.module-page .module-header h1:after{background:#00b509;background:var(--course-accent,#00b509);border-radius:2px;bottom:0;content:"";display:block;height:3px;left:0;opacity:.85;position:absolute;width:2.5rem}.module-page .module-description{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:1.25rem;max-width:800px}.module-meta{display:flex;flex-wrap:wrap;gap:.75rem}.module-page .module-completion-percent,.module-page .module-lesson-count{background-color:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);display:inline-block;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.module-page .module-completion-percent{color:var(--primary-color)}.lessons-list h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.lesson-item{align-items:flex-start;background:var(--bg-color);border:2px solid var(--border-color);border-radius:12px;color:inherit;display:flex;gap:1.5rem;margin-bottom:1rem;padding:1.5rem;text-decoration:none;transition:all .2s}.lesson-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow);text-decoration:none;transform:translateX(4px)}.lesson-item.completed{background-color:#052e16;border-color:var(--success-color)}.lesson-item.in-progress{background-color:#2a1f05;border-color:#f59e0b}.completion-badge.in-progress-badge,.lesson-item.in-progress .lesson-number{background-color:#f59e0b;color:#1a1206}.completion-badge.in-progress-badge{font-size:1.6rem;line-height:1}.lesson-number{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.125rem;font-weight:700;height:48px;justify-content:center;width:48px}.lesson-item.completed .lesson-number{background-color:var(--success-color)}.lesson-item.lesson-locked{cursor:not-allowed;opacity:.5}.lesson-item.lesson-locked:hover{border-color:#ffffff1a;box-shadow:none;transform:none}.lesson-item.lesson-locked .lesson-number{background-color:#ffffff26;font-size:1rem}.lesson-content{flex:1 1}.lesson-content h3{margin-bottom:.5rem}.lesson-description{color:var(--text-secondary);line-height:1.5;margin-bottom:.75rem}.lesson-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem}.completion-badge{align-items:center;background-color:var(--success-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}@media (max-width:768px){.module-page{padding:2rem 1rem}.module-page .module-header h1{font-size:2rem}.lesson-item{flex-direction:column;gap:1rem}.lesson-number{font-size:1rem;height:40px;width:40px}.completion-badge{font-size:1.25rem;height:32px;position:absolute;right:1rem;top:1rem;width:32px}.lesson-item{position:relative}}.confirm-modal-overlay{align-items:center;animation:confirmOverlayFade .15s ease-out;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#000000ad;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10000}@keyframes confirmOverlayFade{0%{opacity:0}to{opacity:1}}.confirm-modal{animation:confirmModalIn .2s ease-out;background:#111;background:var(--bg-color,#111);border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);border-radius:12px;box-shadow:0 20px 40px #0009;max-width:440px;padding:1.75rem 2rem 1.5rem;width:100%}@keyframes confirmModalIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-title{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.confirm-modal-message{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:.92rem;line-height:1.55;margin:0 0 1.25rem}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-modal-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;padding:.55rem 1.1rem;transition:background .12s,border-color .12s,transform .12s}.confirm-modal-btn-cancel{background:#0000;border-color:#2e2e2e;border-color:var(--border-color,#2e2e2e);color:#e4e4e7;color:var(--text-primary,#e4e4e7)}.confirm-modal-btn-cancel:hover{background:#1a1a1a;border-color:#555}.confirm-modal-btn-confirm.confirm-modal-primary{background:#00b509;background:var(--primary-color,#00b509);color:#000}.confirm-modal-btn-confirm.confirm-modal-primary:hover{background:#009a07;background:var(--primary-hover,#009a07);transform:translateY(-1px)}.confirm-modal-btn-confirm.confirm-modal-danger{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.confirm-modal-btn-confirm.confirm-modal-danger:hover{background:#dc2626;transform:translateY(-1px)}.quiz-container{background-color:var(--bg-secondary);border-radius:8px;margin-top:2rem;padding:2rem}.quiz-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.quiz-header h2{color:var(--text-primary);font-size:1.5rem}.question-counter{color:var(--text-secondary);font-weight:500}.quiz-progress{background-color:var(--border-color);border-radius:2px;height:4px;margin-bottom:2rem;overflow:hidden}.quiz-progress-bar{background-color:var(--primary-color);height:100%;transition:width .3s}.question-container{background:var(--bg-color);border-radius:8px;margin-bottom:2rem;padding:2rem}.question-text{color:var(--text-primary);font-size:1.25rem;line-height:1.5;margin-bottom:1.5rem;white-space:pre-wrap}.options-list{display:flex;flex-direction:column;gap:1rem}.option-item{align-items:center;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;padding:1rem;transition:all .2s}.option-item:hover{background-color:#00b50914;border-color:var(--primary-color)}.option-item.selected{background-color:#00b50926;border-color:var(--primary-color)}.option-item input[type=radio]{cursor:pointer;height:20px;margin-right:1rem;width:20px}.option-label{align-items:center;background:#ffffff0f;border:1.5px solid #ffffff26;border-radius:50%;color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:1.75rem;justify-content:center;margin-right:.75rem;min-width:1.75rem;padding:0 .4rem;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}.option-item.selected .option-label{background:#00b50933;border-color:var(--primary-color);color:var(--primary-color)}.option-text{color:var(--text-primary);flex:1 1;line-height:1.5}.quiz-navigation{display:flex;gap:1rem;justify-content:space-between}.quiz-navigation .btn{flex:1 1;max-width:200px}.quiz-results{background:var(--bg-color);border-radius:8px;margin-top:2rem;padding:2rem}.quiz-results h2{color:var(--text-primary);font-size:2rem}.quiz-results h2,.score-display{margin-bottom:2rem;text-align:center}.score-display{padding:2rem}.score-circle{align-items:center;border-radius:50%;display:flex;font-size:3rem;font-weight:700;height:150px;justify-content:center;margin:0 auto 1rem;width:150px}.score-display.perfect .score-circle{background-color:#052e16;color:var(--success-color)}.score-display.completed .score-circle{background-color:#00b5091a;color:var(--primary-color)}.score-message{color:var(--text-secondary);font-size:1.25rem;font-weight:500}.results-breakdown{margin-top:2rem}.results-breakdown h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.result-item{background-color:var(--bg-secondary);border-left:4px solid;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.result-item.correct{border-left-color:var(--success-color)}.result-item.incorrect{border-left-color:var(--error-color)}.result-header{gap:.75rem;margin-bottom:.75rem}.result-header,.result-icon{align-items:center;display:flex}.result-icon{border-radius:50%;font-size:1rem;font-weight:700;height:28px;justify-content:center;width:28px}.result-item.correct .result-icon{background-color:var(--success-color);color:#fff}.result-item.incorrect .result-icon{background-color:var(--error-color);color:#fff}.result-text{color:var(--text-primary);font-weight:600}.question-text{font-weight:500;margin-bottom:.75rem}.result-feedback{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.result-feedback p{color:var(--text-secondary);margin-bottom:.5rem}.explanation{background-color:var(--bg-color);border-radius:6px;font-style:italic;margin-top:.75rem;padding:.75rem}@media (max-width:768px){.question-container,.quiz-container{padding:1.5rem}.quiz-navigation{flex-direction:column}.quiz-navigation .btn{max-width:none}.score-circle{font-size:2.5rem;height:120px;width:120px}}.image-slider{background-color:var(--bg-secondary);border-radius:12px;margin:1.5rem 0;overflow:hidden;padding:1.5rem}.slider-viewport{text-align:center}.slider-viewport img{border-radius:8px;height:auto;margin:0 auto;max-width:100%}.slider-caption{color:var(--text-secondary);font-size:.9375rem;font-style:italic;margin-top:.75rem}.slider-controls{gap:1.5rem;margin-top:1rem}.slider-btn,.slider-controls{align-items:center;display:flex;justify-content:center}.slider-btn{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1.25rem;height:40px;transition:background-color .2s,border-color .2s;width:40px}.slider-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.slider-counter{color:var(--text-secondary);font-size:.875rem;font-weight:600}.slider-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.slider-dot{background:#0000;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;height:10px;padding:0;transition:background-color .2s,border-color .2s;width:10px}.slider-dot.active{background-color:var(--primary-color)}.slider-dot.active,.slider-dot:hover{border-color:var(--primary-color)}.jce-wrap{--jce-gutter-w:3.25rem;background:#111;background:var(--bg-color,#111);position:relative;width:100%}.jce-gutter,.jce-highlight,.jce-textarea{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;border:0;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;letter-spacing:0;line-height:1.45;margin:0;overflow-wrap:normal;tab-size:4;-moz-tab-size:4;white-space:pre;word-break:normal;word-spacing:0}.jce-highlight,.jce-textarea{padding:1rem 1rem 1rem calc(var(--jce-gutter-w) + .5rem)}.jce-textarea{padding-bottom:calc(1rem - 2px);padding-top:calc(1rem + 2px)}.jce-wrap.jce-word-wrap .jce-textarea{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.jce-wrap.jce-word-wrap>.jce-gutter,.jce-wrap.jce-word-wrap>.jce-squigglies{display:none}.jce-wrap-view{background:#0000;border:0;box-sizing:border-box;color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;inset:0;letter-spacing:0;line-height:1.45;margin:0;overflow:auto;padding:1rem 1rem 1rem 0;pointer-events:none;position:absolute;scrollbar-width:none;tab-size:4;-moz-tab-size:4;word-spacing:0}.jce-wrap-view::-webkit-scrollbar{display:none}.jce-line{min-height:1.45em;overflow-wrap:anywhere;padding-left:calc(var(--jce-gutter-w) + .5rem);position:relative;white-space:pre-wrap;word-break:break-word}.jce-linenum{font-feature-settings:"tnum";color:#737373;color:var(--text-secondary,#737373);font-variant-numeric:tabular-nums;left:0;line-height:inherit;padding-right:.5rem;pointer-events:none;position:absolute;text-align:right;text-indent:0;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap;width:var(--jce-gutter-w)}.jce-linenum-marker{margin-right:.1em}.jce-linenum .jce-linenum-current{color:#facc15;font-weight:700;left:0;line-height:inherit;position:absolute;text-shadow:0 0 6px #facc15b3,0 0 1px #000000e6;top:0}.jce-line-error>.jce-linenum{color:#fca5a5}.jce-line-warning>.jce-linenum{color:#fbbf24}.jce-line-error,.jce-line-warning{pointer-events:auto}.jce-highlight{background:#0000;color:#e4e4e7;color:var(--text-primary,#e4e4e7);inset:0;overflow:auto;pointer-events:none;position:absolute;scrollbar-width:none}.jce-highlight::-webkit-scrollbar{display:none}.jce-textarea{-webkit-appearance:none;appearance:none;background:#0000;caret-color:#e4e4e7;caret-color:var(--text-primary,#e4e4e7);color:#0000;display:block;outline:none;position:relative;resize:vertical;vertical-align:top;width:100%}.jce-textarea::selection{background:#264f78b3;color:#0000}.jce-textarea::placeholder{color:#94a3b8;font-style:italic}.jce-cmt{color:#6a9955;font-style:italic}.jce-str{color:#ce9178}.jce-num{color:#b5cea8}.jce-kw{color:#569cd6}.jce-type{color:#4ec9b0}.jce-lit{color:#569cd6}.jce-fn{color:#dcdcaa}.jce-id{color:#9cdcfe}.jce-op{color:#d4d4d4}.jce-textarea[readonly]{cursor:default;resize:none}.jce-gutter{background:#0000;bottom:0;color:#9494a073;left:0;overflow:hidden;padding:1rem .5rem 1rem 0;pointer-events:auto;position:absolute;text-align:right;top:0;-webkit-user-select:none;user-select:none;width:var(--jce-gutter-w);z-index:1}.jce-gutter-marker{font-size:.75rem}.jce-gutter-marker-empty{font-size:.75rem;opacity:0}.jce-gutter-error .jce-gutter-marker{color:#ef4444}.jce-gutter-warning .jce-gutter-marker{color:#f59e0b}.jce-gutter-error,.jce-gutter-warning{color:#ef4444d9;cursor:help;font-weight:600}.jce-gutter-warning{color:#f59e0bd9}.jce-bracket-match{background:#58a6ff38;border-radius:2px;outline:1px solid #58a6ff8c}.jce-squigglies{background:#0000;color:#0000;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;inset:0;letter-spacing:0;line-height:1.45;margin:0;overflow:hidden;padding:1rem 1rem 1rem calc(var(--jce-gutter-w) + .5rem);pointer-events:none;position:absolute;tab-size:4;-moz-tab-size:4;white-space:pre;z-index:2}.jce-squiggly{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 6 3%27><path d=%27M0 2 Q1.5 0 3 2 T6 2%27 stroke=%27%23ef4444%27 fill=%27none%27 stroke-width=%270.9%27/></svg>");background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:2px}.jce-squiggly-warning{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 6 3%27><path d=%27M0 2 Q1.5 0 3 2 T6 2%27 stroke=%27%23f59e0b%27 fill=%27none%27 stroke-width=%270.9%27/></svg>")}.jce-wrap.jce-has-highlight:not(.jce-word-wrap):before{background:#facc1524;border-bottom:1px solid #facc154d;border-top:1px solid #facc154d;content:"";height:1.334rem;left:var(--jce-gutter-w);pointer-events:none;position:absolute;right:0;top:1rem;top:calc(1rem + (var(--jce-highlight-line, 1) - 1)*.92rem*1.45);z-index:1}.jce-wrap.jce-has-highlight{isolation:isolate}.jce-gutter-current{color:#facc15;font-weight:700}.jce-gutter-arrow{color:#facc15;font-size:.85rem;text-shadow:0 0 4px #facc1599}.jce-line-current>.jce-linenum{color:#facc15;font-weight:700}.jce-linenum-current{color:#facc15;text-shadow:0 0 4px #facc1599}.jce-line-current{background:#facc151a;border-radius:2px}@media (max-width:480px){.jce-wrap{--jce-gutter-w:1.5rem}.jce-highlight,.jce-squigglies,.jce-textarea{padding:.6rem .4rem .6rem calc(var(--jce-gutter-w) + .15rem)}.jce-textarea{padding-bottom:calc(.6rem - 2px);padding-top:calc(.6rem + 2px)}.jce-gutter{font-size:.78rem;padding:.6rem .15rem}.jce-wrap-view{padding:.6rem .4rem .6rem 0}.jce-line{padding-left:calc(var(--jce-gutter-w) + .15rem)}.jce-linenum{padding-right:.15rem}}.inline-java-challenge{background:#0f0f0f;border:1px solid #2e2e2e;border-left:3px solid #00b509;border:1px solid var(--border-color,#2e2e2e);border-left:3px solid var(--primary-color,#00b509);border-radius:10px;margin:1.5rem 0;padding:1.25rem 1.25rem 1rem}.inline-java-challenge-solved{border-color:#00b50999 #00b50999 #00b50999 #22c55e;border-left-color:var(--success-color,#22c55e);box-shadow:inset 0 0 0 1px #00b5092e}.inline-java-challenge-missing{color:#fca5a5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.ijc-header{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.ijc-header-main{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.ijc-badge{background:#00b5091f;border:1px solid #00b5094d;border-radius:999px;color:#00b509;color:var(--primary-color,#00b509);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;font-weight:700;letter-spacing:.08em;padding:.2rem .55rem;text-transform:uppercase}.inline-java-challenge-solved .ijc-badge{background:#22c55e2e;border-color:#22c55e73;color:#4ade80}.ijc-title{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:1.05rem;font-weight:700;margin:0}.ijc-score{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;white-space:nowrap}.ijc-score-pass{color:#4ade80;font-weight:700}.ijc-description{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:.92rem;line-height:1.55;margin:.35rem 0 .9rem}.ijc-description code{background:#1a1a1a;border-radius:3px;color:#9cdcfe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:.05rem .35rem}.ijc-mobile-banner{background:#fbbf241a;border:1px solid #fbbf244d;border-radius:6px;color:#fbbf24;font-size:.8rem;line-height:1.45;margin:0 0 .75rem;padding:.65rem .85rem}.ijc-mobile-banner strong{color:#fde68a}.ijc-editor-wrap{background:#0b0b0b;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);border-radius:8px;overflow:hidden}.inline-java-challenge .jce-textarea{overflow-x:auto;overflow-y:hidden;resize:none}.inline-java-challenge .jce-highlight{overflow-x:auto;overflow-y:hidden}.inline-java-challenge .jce-gutter{overflow:hidden}.ijc-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.ijc-btn{border:0;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;padding:.45rem .95rem;transition:background .12s,transform .12s,opacity .12s}.ijc-btn:disabled{cursor:not-allowed;opacity:.45}.ijc-btn-run{background:#00b509;background:var(--primary-color,#00b509);color:#000}.ijc-btn-run:hover:not(:disabled){background:#00d60a;background:var(--primary-hover,#00d60a);transform:translateY(-1px)}.ijc-btn-reset{background:#262626;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);color:#e4e4e7;color:var(--text-primary,#e4e4e7)}.ijc-btn-reset:hover:not(:disabled){background:#333}.ijc-btn-format{background:#262626;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);color:#e4e4e7;color:var(--text-primary,#e4e4e7)}.ijc-btn-format:hover:not(:disabled){background:#333}.ijc-btn-hint{background:#0000;border:1px solid #fbbf2466;color:#fbbf24}.ijc-btn-hint:hover:not(:disabled){background:#fbbf241a}.ijc-btn-reveal{background:#0000;border:1px solid #9cdcfe66;color:#9cdcfe}.ijc-btn-reveal:hover:not(:disabled){background:#9cdcfe14}.ijc-hints{background:#fbbf2414;border:1px solid #fbbf2440;border-radius:6px;margin-top:.9rem;padding:.75rem .95rem}.ijc-hint-row{color:#fbbf24;font-size:.85rem;line-height:1.55}.ijc-hint-row+.ijc-hint-row{margin-top:.4rem}.ijc-hint-num{color:#fde68a;font-weight:700;margin-right:.25rem}.ijc-solution{background:#0b0b0b;border:1px dashed #2e2e2e;border:1px dashed var(--border-color,#2e2e2e);border-radius:6px;color:#e4e4e7;color:var(--text-primary,#e4e4e7);line-height:1.55;margin:.9rem 0 0;overflow-x:auto;padding:.9rem 1rem;white-space:pre}.ijc-global-error,.ijc-solution{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.ijc-global-error{background:#ef444414;border:1px solid #ef444459;border-radius:6px;color:#fca5a5;line-height:1.5;margin-top:.9rem;padding:.75rem .95rem;white-space:pre-wrap;word-break:break-word}.ijc-global-error-label{color:#fda4af;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-right:.35rem;text-transform:uppercase}.ijc-results{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:.9rem 0 0;padding:0}.ijc-result-row{align-items:flex-start;background:#0b0b0b;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);border-left-width:3px;border-radius:6px;display:flex;gap:.55rem;padding:.55rem .75rem}.ijc-result-pass{border-left-color:#22c55e}.ijc-result-fail{border-left-color:#ef4444;border-left-color:var(--error-color,#ef4444)}.ijc-result-icon{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;line-height:1.4}.ijc-result-pass .ijc-result-icon{color:#22c55e}.ijc-result-fail .ijc-result-icon{color:#fca5a5}.ijc-result-body{flex:1 1 auto;min-width:0}.ijc-result-desc{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:.87rem;line-height:1.45}.ijc-result-msg{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;margin-top:.2rem;white-space:pre-wrap;word-break:break-word}.ijc-result-msg code{background:#1a1a1a;border-radius:3px;color:#fca5a5;padding:.05rem .3rem}.ijc-success{background:#22c55e1f;border:1px solid #22c55e59;border-radius:6px;color:#4ade80;font-size:.88rem;font-weight:700;margin-top:.85rem;padding:.6rem .9rem}@media (max-width:640px){.inline-java-challenge{padding:1rem .85rem .85rem}.ijc-title{font-size:1rem}.ijc-btn{font-size:.8rem;padding:.4rem .75rem}}@media (max-width:480px){.inline-java-challenge{border-left:none;border-radius:0;border-right:none;margin-left:calc(max(14px, env(safe-area-inset-left))*-1);margin-right:calc(max(14px, env(safe-area-inset-right))*-1);padding:.85rem 0 .7rem}.ijc-actions,.ijc-description,.ijc-header,.ijc-hints,.ijc-mobile-banner,.ijc-results,.ijc-success{padding-left:.7rem;padding-right:.7rem}.ijc-editor-wrap{border-left:none;border-radius:0;border-right:none}}.gpg-page{color:#e4e4e7;color:var(--text-primary,#e4e4e7);margin:0 auto;max-width:1080px;padding:32px 24px 96px}.gpg-header{margin-bottom:24px;text-align:center}.gpg-context{background:#00b5091a;border-radius:999px;color:#00b509;color:var(--primary-color,#00b509);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;padding:4px 12px;text-transform:uppercase}.gpg-title{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:32px;line-height:1.2;margin:0}.gpg-teaser{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin-bottom:24px;max-height:360px;overflow:hidden;padding:24px 28px;position:relative}.gpg-teaser-body{font-size:15px;line-height:1.6}.gpg-teaser-body p{margin:0 0 12px}.gpg-teaser-body p:last-child{margin-bottom:0}.gpg-teaser-body ul{margin:8px 0 12px 24px;padding-left:0}.gpg-teaser-body li{margin-bottom:4px}.gpg-teaser-fade:after{background:linear-gradient(180deg,#1a1a2e00 0,#1a1a2ee6 60%,#1a1a2e);content:"";height:220px;inset:auto 0 0 0;pointer-events:none;position:absolute}.gpg-teaser-lock{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:1px solid #ffffff26;border-radius:999px;bottom:16px;color:#e4e4e7;color:var(--text-primary,#e4e4e7);display:flex;font-size:13px;font-weight:600;gap:8px;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%);z-index:1}.gpg-teaser-lock-icon{font-size:14px}.gpg-cta-block{margin-bottom:48px}.gpg-cta-card{background:linear-gradient(135deg,#00b50914,#00b50905);border:1px solid #00b50940;border-radius:16px;padding:32px 28px;text-align:center}.gpg-cta-headline{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.gpg-cta-icon{font-size:32px}.gpg-cta-headline h2{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:22px;margin:0}.gpg-cta-sub{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:15px;line-height:1.55;margin:0 auto 20px;max-width:640px}.gpg-cta-sub strong{color:#e4e4e7;color:var(--text-primary,#e4e4e7)}.gpg-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.gpg-locked-features{grid-gap:8px 24px;display:grid;gap:8px 24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none;margin:0 auto;max-width:760px;padding:0;text-align:left}.gpg-locked-features li{align-items:center;color:#a1a1aa;color:var(--text-secondary,#a1a1aa);display:flex;font-size:14px;gap:10px;padding:6px 0}.gpg-locked-icon{flex-shrink:0;font-size:16px;text-align:center;width:24px}.gpg-try-heading{color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-size:22px;margin:0 0 4px;text-align:center}.gpg-try-heading-em{color:#00b509;color:var(--primary-color,#00b509)}.gpg-try-sub{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:14px;line-height:1.5;margin:0 auto 24px;max-width:640px;text-align:center}.gpg-try-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gpg-try-card{align-items:flex-start;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;color:inherit;display:flex;gap:14px;padding:16px;text-decoration:none!important;transition:border-color .12s,box-shadow .12s,transform .12s,background .12s}.gpg-try-card:hover{background:#00b5090d;border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 2px 12px #00b5091a;transform:translateY(-1px)}.gpg-try-card-icon{align-items:center;background:#ffffff0a;border-radius:8px;display:flex;flex-shrink:0;font-size:28px;height:40px;justify-content:center;line-height:1;width:40px}.gpg-try-card-body{flex:1 1;min-width:0}.gpg-try-card-title{align-items:center;color:#e4e4e7;color:var(--text-primary,#e4e4e7);display:flex;flex-wrap:wrap;font-size:15px;font-weight:600;gap:8px;margin-bottom:4px}.gpg-try-card-tag{background:#00b5091f;border:1px solid #00b5094d;border-radius:999px;color:#00b509;color:var(--primary-color,#00b509);font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.gpg-try-card-blurb{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:13px;line-height:1.45;margin:0}@media (max-width:640px){.gpg-title{font-size:24px}.gpg-cta-headline{flex-direction:column;gap:4px}.gpg-cta-headline h2{font-size:18px}.gpg-locked-features{grid-template-columns:1fr}}.lesson-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.lesson-header,.lesson-nav{margin-bottom:2rem}.lesson-header{background:linear-gradient(135deg,#00b50921,#0000 70%);background:linear-gradient(135deg,var(--course-accent-soft,#00b50921) 0,#0000 70%);border-radius:14px;border-top:4px solid #00b509;border-top:4px solid var(--course-accent,#00b509);box-shadow:inset 0 1px 0 #ffffff0a,0 12px 28px -22px #0006;box-shadow:0 1px 0 #ffffff0a inset,0 12px 28px -22px var(--course-accent,#0006);padding:1.5rem 1.75rem 1.75rem;position:relative}.lesson-course-chip{align-items:center;background:#00b50921;background:var(--course-accent-soft,#00b50921);border:1px solid #00b5094d;border:1px solid var(--course-accent-mid,#00b5094d);border-radius:999px;color:#00b509;color:var(--course-accent,#00b509);display:inline-flex;font-size:.72rem;font-weight:700;gap:.45rem;letter-spacing:.08em;margin-bottom:.85rem;padding:.28rem .7rem;text-transform:uppercase;white-space:nowrap}.lesson-course-chip-icon{font-size:.9rem;line-height:1}.lesson-course-chip-label{line-height:1}.module-title{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.lesson-header h1{color:var(--text-primary);font-size:2.5rem;line-height:1.15;margin:0;padding-bottom:.6rem;position:relative}.lesson-header h1:after{background:#00b509;background:var(--course-accent,#00b509);border-radius:2px;bottom:0;content:"";display:block;height:3px;left:0;opacity:.85;position:absolute;width:2.5rem}.lesson-body{background:var(--bg-color);border-radius:12px;box-shadow:var(--shadow);padding:2rem}.video-container{border-radius:8px;height:0;margin-bottom:2rem;overflow:hidden;padding-bottom:56.25%;position:relative}.video-container iframe{border-radius:8px;height:100%;left:0;position:absolute;top:0;width:100%}.lesson-content{color:var(--text-primary);line-height:1.8}.lesson-content h1{color:var(--text-primary);font-size:2rem;margin:2rem 0 1rem}.lesson-content h2{color:var(--text-primary);font-size:1.5rem;margin:1.75rem 0 .875rem}.lesson-content h3{color:var(--text-primary);font-size:1.25rem;margin:1.5rem 0 .75rem}.lesson-content p{margin-bottom:1rem}.lesson-content ol,.lesson-content ul{margin:1rem 0;padding-left:2rem}.lesson-content li{margin-bottom:.5rem}.lesson-content strong{color:var(--text-primary);font-weight:600}.lesson-content a{color:var(--primary-color);text-decoration:underline}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;border-radius:8px;margin:1.5rem 0;overflow-x:auto}.lesson-content table{background-color:var(--bg-secondary);border-collapse:collapse;border-radius:8px;margin:0;min-width:500px;overflow:hidden;width:100%}.lesson-content thead{background-color:#00b5091f}.lesson-content th{border-bottom:2px solid var(--border-color);color:var(--primary-color);font-size:.9375rem;font-weight:600;padding:.875rem 1.25rem;text-align:left}.lesson-content td{border-bottom:1px solid var(--border-color);color:var(--text-primary);line-height:1.6;padding:.75rem 1.25rem}.lesson-content tbody tr:last-child td{border-bottom:none}.lesson-content tbody tr:hover{background-color:#ffffff08}.lesson-content img{border-radius:8px;display:block;height:auto;margin:1.5rem 0;max-width:100%}.lesson-content blockquote{background-color:#00b5090f;border-left:4px solid var(--primary-color);border-radius:0 8px 8px 0;color:var(--text-secondary);margin:1.5rem 0;padding:1rem 1.5rem}.lesson-content blockquote p{margin-bottom:0}.lesson-ap-prep,.lesson-common-error,.lesson-important,.lesson-note{border-radius:8px;font-size:.9375rem;line-height:1.7;margin:1.5rem 0;padding:1rem 1.25rem}.lesson-ap-prep:before,.lesson-common-error:before,.lesson-important:before,.lesson-note:before{display:block;font-size:.8125rem;font-weight:700;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.lesson-note{background-color:#3b82f614;border-left:4px solid #3b82f6;color:var(--text-secondary)}.lesson-note:before{color:#3b82f6;content:"Note"}.lesson-important{background-color:#f59e0b14;border-left:4px solid #f59e0b;color:var(--text-secondary)}.lesson-important:before{color:#f59e0b;content:"Important"}.lesson-ap-prep{background-color:#8b5cf614;border-left:4px solid #8b5cf6;color:var(--text-secondary)}.lesson-ap-prep:before{color:#8b5cf6;content:"⚡ AP Exam Prep"}.lesson-common-error{background-color:#ef444414;border-left:4px solid #ef4444;color:var(--text-secondary)}.lesson-common-error:before{color:#ef4444;content:"⚠️ Common Error"}.lesson-resources{background-color:var(--bg-secondary);border-radius:8px;margin-top:2rem;padding:1.5rem}.lesson-resources h3{color:var(--text-primary);font-size:1.125rem;margin-bottom:1rem}.lesson-resources ul{list-style:none;padding:0}.lesson-resources li{margin-bottom:.75rem}.lesson-resources a{color:var(--primary-color);font-weight:500}.resource-type{background-color:var(--bg-color);border-radius:12px;color:var(--text-secondary);display:inline-block;font-size:.75rem;margin-left:.5rem;padding:.125rem .5rem}.quiz-prompt{background-color:var(--bg-secondary);border-radius:8px;margin-top:2rem;padding:2rem;text-align:center}.quiz-prompt h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem}.lesson-complete{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.lesson-challenge-gate{background:#fbbf2414;border:1px solid #fbbf244d;border-radius:6px;color:#fbbf24;font-size:.85rem;line-height:1.5;margin:1rem auto 0;max-width:560px;padding:.75rem 1rem;text-align:center}.lesson-challenge-gate strong{color:#fde68a}.lesson-gate-find-btn{background:#fbbf2426;border:1px solid #fbbf2466;border-radius:6px;color:#fbbf24;cursor:pointer;display:inline-block;font-size:.8rem;font-weight:600;margin-top:.5rem;padding:.3rem .75rem;transition:all .15s}.lesson-gate-find-btn:hover{background:#fbbf2440;border-color:#fbbf2499}.lesson-continue-btn{font-size:1rem;padding:.75rem 2rem}.lesson-skip-quiz{border-top:1px dashed var(--border-color);margin-top:1rem;padding-top:1.5rem;text-align:center}.skip-quiz-hint{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.lesson-continue-btn-outline{border-color:var(--border-color);color:var(--text-secondary);font-size:.9375rem}.video-container{margin-top:2rem}@media (max-width:768px){.lesson-page{padding:2rem 1rem}.lesson-header h1{font-size:2rem}.lesson-body{padding:1.5rem}.lesson-content h1{font-size:1.75rem}.lesson-content h2{font-size:1.375rem}.lesson-content h3{font-size:1.125rem}}.inline-mcq,.inline-parsons{border:1px solid #ffffff0f;border-radius:8px;margin:1.5rem 0;padding:1.25rem;position:relative}.inline-parsons{background:#06b6d40f;border-left:4px solid #06b6d4}.inline-mcq{background:#10b9810f;border-left:4px solid #10b981}.inline-mcq:before,.inline-parsons:before{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.inline-parsons:before{color:#06b6d4;content:"\1F9E9  Parsons Problem"}.inline-mcq:before{color:#10b981;content:"\270F\FE0F  Quick Check"}.inline-check-title{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-size:1.05rem;font-weight:600;margin-bottom:1rem}.inline-check-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.inline-check-btn{background:#0000;border:1.5px solid #06b6d4;border-radius:6px;color:#06b6d4;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .9rem;transition:background .15s,color .15s}.inline-mcq .inline-check-btn{border-color:#10b981;color:#10b981}.inline-check-btn:hover:not(:disabled){background:#06b6d426}.inline-mcq .inline-check-btn:hover:not(:disabled){background:#10b98126}.inline-check-btn:disabled{cursor:not-allowed;opacity:.4}.inline-check-btn-hint{border-color:#94a3b8;color:#94a3b8}.inline-check-btn-hint:hover{background:#94a3b81a!important}.inline-check-btn-reset{border-color:#94a3b8;color:#94a3b8}.inline-check-btn-reset:hover{background:#94a3b81a!important}.inline-check-success{background:#10b9811f;color:#34d399;font-weight:600}.inline-check-error,.inline-check-success{border-radius:6px;font-size:.9rem;margin-top:.75rem;padding:.6rem .9rem}.inline-check-error{background:#ef44441a;color:#f87171;font-weight:500}.inline-check-explanation{background:#10b98114;border:1px solid #10b98126;border-radius:6px;color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.9rem;line-height:1.55;margin-top:.6rem;padding:.75rem 1rem}.inline-check-hint{color:#7dd3fc;font-size:.88rem;font-style:italic;line-height:1.5;margin-top:.6rem;padding:.5rem .9rem}.parsons-prompt{background:#38bdf814;border-left:3px solid #38bdf899;border-radius:4px;color:#cbd5e1;font-size:.92rem;line-height:1.5;margin:.35rem 0 .75rem;padding:.55rem .85rem}.parsons-lines{display:flex;flex-direction:column;gap:.35rem}.parsons-line{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;cursor:grab;display:flex;gap:.5rem;padding:.55rem .75rem;transition:opacity .15s,transform .15s,background .2s,border-color .2s;-webkit-user-select:none;user-select:none}.parsons-line:hover{background:#ffffff12}.parsons-line-dragging{opacity:.5;transform:scale(.97)}.parsons-line-dragover{border-top:2px solid #06b6d4;margin-top:-1px}.parsons-line-dragover-below{border-bottom:2px solid #06b6d4;margin-bottom:-1px}.parsons-drop-zone-bottom{flex-shrink:0;height:1.5rem}.parsons-line-correct{background:#10b9811f!important;border-color:#10b9814d!important}.parsons-line-wrong{background:#ef44441a!important;border-color:#ef44444d!important}.parsons-handle{color:#94a3b8;cursor:grab;flex-shrink:0;font-size:1.1rem}.parsons-code{color:#e2e8f0;color:var(--text-primary,#e2e8f0);flex:1 1;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.88rem;white-space:pre-wrap;word-break:break-word}.parsons-mobile-arrows{display:none;flex-shrink:0;gap:.2rem}.parsons-arrow-btn{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:.7rem;line-height:1;padding:.2rem .4rem}.parsons-arrow-btn:hover:not(:disabled){background:#ffffff1f;color:#e2e8f0}.parsons-arrow-btn:disabled{cursor:not-allowed;opacity:.3}.mcq-question{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-size:.95rem;line-height:1.55;margin-bottom:.75rem}.mcq-code-block{margin-bottom:1rem}.mcq-options{gap:.4rem}.mcq-option{background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;gap:.6rem;padding:.55rem .75rem;transition:background .15s,border-color .15s}.mcq-option:hover{background:#ffffff0f}.mcq-option-selected{background:#10b98114;border-color:#10b9814d}.mcq-option-correct{background:#10b9811f!important;border-color:#10b98166!important}.mcq-option-wrong{background:#ef44441a!important;border-color:#ef444459!important}.mcq-option input[type=radio]{display:none}.mcq-option-label{border:1.5px solid #ffffff26;color:#94a3b8;display:inline-flex;font-size:.78rem;height:1.6rem;transition:background .15s,border-color .15s,color .15s;width:1.6rem}.mcq-option-selected .mcq-option-label{background:#10b98133;border-color:#10b981;color:#10b981}.mcq-option-correct .mcq-option-label{background:#10b98140;border-color:#34d399;color:#34d399}.mcq-option-wrong .mcq-option-label{background:#ef444426;border-color:#f87171;color:#f87171}.mcq-option-text{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-family:Fira Code,Consolas,Monaco,monospace;font-size:.9rem}@media (max-width:600px){.inline-mcq,.inline-parsons{margin:1rem 0;padding:1rem}.parsons-handle{display:none}.parsons-mobile-arrows{display:flex}.parsons-line{cursor:default}.parsons-code{font-size:.82rem}.mcq-option-text{font-size:.85rem}}.gc-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);margin-bottom:1rem;padding:1.25rem 1.5rem}.gc-card-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.gc-card-header h4{color:var(--text-primary);font-size:1.05rem;font-weight:600;margin:0}.gc-logo{align-items:center;background:#0f9d58;border-radius:4px;color:#fff;display:inline-flex;font-size:13px;font-weight:700;height:24px;justify-content:center;width:24px}.gc-status-pill{border:1px solid #0000;border-radius:999px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 10px;text-transform:uppercase}.gc-status-connected{background:#00b5091f;border-color:#00b50959;color:#00b509}.gc-status-disconnected{background:#a1a1aa1a;border-color:var(--border-color);color:var(--text-secondary)}.gc-muted{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.gc-error{background:#3b1111;border:1px solid #5c1a1a;border-radius:6px;color:#fca5a5;font-size:.85rem;margin-top:8px;padding:8px 10px}.gc-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.gc-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:background .15s,border-color .15s,transform .15s}.gc-btn:hover:not(:disabled){background:#2e2e2e;border-color:#3f3f46}.gc-btn:disabled{cursor:not-allowed;opacity:.5}.gc-btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.gc-btn-primary:hover:not(:disabled){background:#00a108;border-color:#00a108;transform:translateY(-1px)}.gc-btn-danger{background:#0000;border-color:#5c1a1a;color:#fca5a5}.gc-btn-danger:hover:not(:disabled){background:#3b1111;border-color:#7a2323}.gc-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-width:360px;padding:.5rem .75rem}.gc-select,.gc-toggle{color:var(--text-primary);font-size:.9rem}.gc-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:8px}.gc-toggle input{accent-color:var(--primary-color);margin:0}.gc-summary{color:var(--text-secondary);display:flex;font-size:.8rem;gap:24px;letter-spacing:.04em;margin-top:12px;text-transform:uppercase}.gc-summary-item strong{color:var(--text-primary);display:block;font-size:1.5rem;font-weight:600}.gc-summary-unmatched strong{color:#f59e0b}.gc-modal-overlay{align-items:center;background:#000000b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9000}.gc-modal{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);display:flex;flex-direction:column;max-height:90vh;max-width:880px;overflow:hidden;width:100%}.gc-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:14px 20px}.gc-modal-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.gc-modal-body{flex:1 1;overflow:auto;padding:16px 20px}.gc-modal-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:space-between;padding:12px 20px}.gc-progress{color:var(--text-secondary);font-size:.8rem;letter-spacing:.04em;margin-bottom:12px;text-transform:uppercase}.gc-unmatched-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;padding:12px 14px}.gc-unmatched-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.gc-unmatched-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.gc-unmatched-email{color:var(--text-secondary);font-size:.8rem}.gc-suggestion{align-items:center;background:#1a1a1a;border:1px solid var(--border-color);border-radius:6px;display:flex;justify-content:space-between;margin-top:8px;padding:8px 10px}.gc-suggestion-info{color:var(--text-primary);font-size:.9rem}.gc-suggestion-info small{color:var(--text-secondary);margin-left:8px}.gc-confidence-pill{border:1px solid #0000;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.5px;margin-right:8px;padding:2px 7px;text-transform:uppercase}.gc-confidence-strong{background:#00b50926;border-color:#00b50966;color:#00b509}.gc-confidence-medium{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.gc-confidence-weak{background:#ef444426;border-color:#ef444466;color:#f87171}.gc-suggestion-actions{align-items:center;display:flex;gap:6px}.gc-fallback{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:8px;margin-top:10px}.gc-fallback select{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.85rem;min-width:0;padding:6px 8px}.mfa-page{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #00000040;color:#1a1a1a;font-family:inherit;margin:3rem auto;max-width:640px;padding:2rem 2rem 2.5rem}.mfa-page em,.mfa-page h1,.mfa-page h2,.mfa-page h3,.mfa-page label,.mfa-page li,.mfa-page p,.mfa-page strong,.mfa-page summary{color:inherit}.mfa-page h1{font-size:1.85rem;font-weight:700;margin:0 0 .5rem}.mfa-lede{color:#444;font-size:1.05rem;margin:0 0 2rem}.mfa-steps{list-style:decimal;margin:0;padding-left:1.5rem}.mfa-steps>li{line-height:1.55;margin-bottom:1.75rem}.mfa-steps em{font-style:normal;font-weight:600}.mfa-qr-wrap{background:#f7f7f7;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;padding:1rem;text-align:center}.mfa-qr{background:#fff;border-radius:4px;display:block;height:220px;margin:0 auto;padding:8px;width:220px}.mfa-manual{font-size:.92rem;margin-top:1rem;text-align:left}.mfa-manual summary{color:#2c5aa0;cursor:pointer;font-weight:600}.mfa-manual code,.mfa-secret{background:#fff;border:1px solid #ddd;border-radius:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em;padding:.15rem .4rem;word-break:break-all}.mfa-form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.mfa-code-input{background:#fff;border:2px solid #cfd4dc;border-radius:8px;color:#1a1a1a;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.5rem;letter-spacing:.4em;padding:.65rem .5rem;text-align:center;width:11ch}.mfa-code-input:focus{border-color:#2c5aa0;box-shadow:0 0 0 3px #2c5aa02e;outline:none}.mfa-remember{align-items:center;color:#444;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem}.mfa-error{color:#b00020;font-size:.95rem;margin:0}.mfa-submit{align-self:flex-start;background:#2c5aa0;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background .15s}.mfa-submit:hover:not(:disabled){background:#234a85}.mfa-submit:disabled{background:#9aa5b8;cursor:not-allowed}.mfa-help{color:#666;font-size:.92rem;margin-top:2rem}.mfa-challenge{max-width:460px}.mfa-settings-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-top:1.5rem;padding:1.25rem 1.5rem}.mfa-settings-card h2{font-size:1.25rem;margin:0 0 .5rem}.mfa-status{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;margin-left:.5rem;padding:.2rem .65rem;vertical-align:middle;white-space:nowrap}.mfa-status--on{background:#e6f4ea;color:#1e7a3a}.mfa-status--off{background:#fdeaea;color:#b00020}.mfa-status--grace{background:#fff8e1;color:#7a5b00}.settings-page{margin:0 auto;max-width:1280px;padding:3rem 2rem}.settings-page>h1{color:var(--text-primary);font-size:2.5rem;margin-bottom:2rem}.settings-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.settings-title-row h1{margin-bottom:0}.settings-toggle-all-pill{background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:.8rem;padding:.35rem 1rem;transition:background .2s,color .2s;white-space:nowrap}.settings-toggle-all-pill:hover{background:#ffffff24;color:#fff;color:var(--text-primary,#fff)}.settings-message{border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.settings-message.success{background-color:#052e16;border:1px solid #166534;color:#4ade80}.settings-message.error{background-color:#3b1111;border:1px solid #5c1a1a;color:#fca5a5}.settings-section{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:2rem}.settings-section.settings-section--highlight{background:linear-gradient(135deg,#00b5090f,#00b50905);border-color:#00b50973;box-shadow:0 0 0 1px #00b5092e,0 4px 14px #00b50914}.settings-section.settings-section--highlight .settings-section-header h2{color:#00b509}.cr-join-badge{background:#00b5091f;border:1px solid #00b50959;border-radius:999px;color:#00b509;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-left:.75rem;padding:.2rem .6rem;text-transform:uppercase;vertical-align:middle}.cr-join-prompt{background:#00b50914;border-left:3px solid #00b509;border-radius:6px;color:var(--text-primary);line-height:1.55;margin:0 0 1rem;padding:.85rem 1rem}.cr-join-prompt strong{color:#00b509}.settings-section h2{color:var(--text-primary);font-size:1.25rem;margin-bottom:0}.settings-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.settings-section-header:hover h2{color:#00b509;color:var(--primary-color,#00b509)}.settings-section-toggle{color:var(--text-secondary);font-size:1.4rem;font-weight:300;line-height:1;min-width:1.2rem;text-align:center}.settings-section-body{margin-top:1rem}.settings-section-body .settings-description:first-child{margin-top:0}.settings-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.25rem}.settings-form .form-group{margin-bottom:1.25rem}.settings-form label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.settings-form input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.settings-form input:focus{border-color:var(--primary-color);outline:none}.settings-form input:disabled{cursor:not-allowed;opacity:.5}.form-hint{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.375rem}.settings-danger-zone{border-color:#5c1a1a}.settings-danger-zone h2{color:#fca5a5}.btn-danger{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.btn-danger-outline{border-color:#5c1a1a;color:#fca5a5}.btn-danger-outline:hover:not(:disabled){background-color:#3b1111;color:#fca5a5}.reset-course-controls{display:flex;flex-direction:column;gap:1rem}.reset-course-select-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.reset-course-label{color:var(--text-secondary);font-size:.9rem;font-weight:600;white-space:nowrap}.reset-course-select{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.95rem;min-width:200px;padding:.6rem .9rem;transition:border-color .2s}.reset-course-select:focus{border-color:var(--primary-color);outline:none}.confirm-action{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.confirm-text{color:var(--text-secondary);font-weight:500;margin-bottom:1rem}.confirm-buttons{display:flex;gap:.75rem}.settings-name-row{margin-bottom:.75rem}.settings-name-edit{display:flex;flex-direction:column;gap:.75rem}.settings-name-fields{display:flex;gap:.5rem}.settings-name-input{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:.9rem;outline:none;padding:.5rem .65rem;transition:border-color .15s}.settings-name-input:focus{border-color:var(--primary-color)}.settings-name-actions{display:flex;gap:.5rem}.settings-name-edit-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-decoration:none}.settings-name-edit-btn:hover{text-decoration:underline}.settings-name-missing{color:var(--text-secondary);font-style:italic}@media (max-width:768px){.settings-page{padding:2rem 1rem}.settings-page>h1{font-size:2rem}.settings-section{padding:1.5rem}.confirm-buttons,.settings-name-fields{flex-direction:column}}.quiz-practice-page{margin:0 auto;max-width:800px;padding:3rem 2rem}.qp-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.qp-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.25rem}.qp-header p{color:var(--text-secondary)}.qp-score-banner{align-items:center;border:1px solid;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.qp-score-banner.perfect{background:#052e16;border-color:#166534}.qp-score-banner.good{background:#1c2f1c;border-color:#2d5a2d}.qp-score-banner.retry{background:#2d1a00;border-color:#7c3500}.qp-score-num{color:var(--primary-color);font-size:2rem;font-weight:800;white-space:nowrap}.qp-score-label{color:var(--text-primary);flex:1 1;font-size:1rem}.qp-dots{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.qp-dot{background:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;font-size:0;height:32px;transition:all .2s;width:32px}.qp-dot.active{background:#00b50926;border-color:var(--primary-color)}.qp-dot.answered{background:var(--bg-secondary);border-color:var(--text-secondary)}.qp-dot.correct{background:#10b98126;border-color:var(--success-color)}.qp-dot.wrong{background:#ef444426;border-color:var(--error-color)}.qp-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:2rem}.qp-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.qp-unit{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;font-size:.8rem;padding:.25rem .75rem}.qp-counter,.qp-unit{color:var(--text-secondary)}.qp-counter{font-size:.875rem;font-weight:500}.qp-question{color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.5;margin-bottom:1.5rem;white-space:pre-wrap}.qp-options{display:flex;flex-direction:column;gap:.75rem}.qp-option{align-items:flex-start;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:.875rem 1rem;text-align:left;transition:all .15s;width:100%}.qp-option:hover:not(:disabled){background:#00b5090f;border-color:var(--primary-color)}.qp-option.selected{background:#00b5091f;border-color:var(--primary-color)}.qp-option.correct{background:#10b9811a;border-color:var(--success-color)}.qp-option.wrong{background:#ef44441a;border-color:var(--error-color)}.qp-option:disabled{cursor:default}.qp-opt-letter{color:var(--text-secondary);font-size:.95rem;font-weight:700;min-width:20px}.qp-option.correct .qp-opt-letter,.qp-option.selected .qp-opt-letter{color:var(--primary-color)}.qp-option.wrong .qp-opt-letter{color:var(--error-color)}.qp-opt-text{color:var(--text-primary);font-size:.95rem;line-height:1.5}.qp-explanation{background:var(--bg-secondary);border-left:3px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-top:1.25rem;padding:1rem}.qp-explanation strong{color:var(--text-primary)}.qp-nav{display:flex;gap:1rem;justify-content:space-between}.qp-submit-wrap{display:inline-flex;position:relative}.qp-submit-wrap[data-tooltip]:after{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #0009;color:#e2e8f0;content:attr(data-tooltip);font-size:.8rem;font-weight:400;line-height:1.5;opacity:0;padding:.55rem .85rem;pointer-events:none;position:absolute;right:0;text-align:center;transform:translateY(4px);transition:opacity .2s,transform .2s;width:240px;z-index:50}.qp-submit-wrap[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}@media (max-width:768px){.qp-submit-wrap[data-tooltip]:after{display:none}}.qp-free-banner{align-items:center;background:#00b50914;border:1px solid #00b50933;border-radius:8px;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:.75rem 1.25rem}.qp-free-banner a{color:var(--primary-color);font-weight:600;text-decoration:none;white-space:nowrap}.qp-free-banner a:hover{text-decoration:underline}.qp-limit-banner{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-top:1rem;padding:3rem 2rem;text-align:center}.qp-limit-icon{font-size:3rem;margin-bottom:1rem}.qp-limit-banner h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.qp-limit-banner p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 1.5rem;max-width:480px}.qp-limit-banner .btn{margin-bottom:1rem}.qp-reset-timer{margin:1.5rem auto 0;max-width:320px}.qp-reset-label{color:var(--text-secondary);font-size:.8rem;letter-spacing:.08em;margin-bottom:.6rem;text-transform:uppercase}.qp-reset-clock{align-items:center;display:flex;gap:.4rem;justify-content:center}.qp-reset-segment{align-items:center;display:flex;flex-direction:column}.qp-reset-num{font-feature-settings:"tnum";color:var(--primary-color);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.qp-reset-unit{color:var(--text-secondary);font-size:.65rem;letter-spacing:.08em;margin-top:.2rem;text-transform:uppercase}.qp-reset-colon{color:var(--text-secondary);font-size:1.75rem;font-weight:700;margin-bottom:.85rem}.qp-while-you-wait{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.qp-wait-label{color:var(--text-secondary)!important;font-size:.8rem!important;letter-spacing:.08em;margin-bottom:.75rem!important;text-transform:uppercase}.qp-wait-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.qp-wait-links .blocks-resource-pill:after{left:50%;transform:translateX(-50%) translateY(4px)}.qp-wait-links .blocks-resource-pill:hover:after{transform:translateX(-50%) translateY(0)}@media (max-width:768px){.quiz-practice-page{padding:2rem 1rem}.qp-header h1{font-size:1.5rem}.qp-card{padding:1.5rem}.qp-question{font-size:1.1rem}.qp-score-banner{gap:.75rem}.qp-free-banner,.qp-score-banner{align-items:flex-start;flex-direction:column}.qp-free-banner{gap:.5rem}}.terminal-wrapper{background:#0d1117;border:1px solid #30363d;border-radius:10px;box-shadow:0 8px 32px #00000080;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.875rem;margin:2rem 0;overflow:hidden}.terminal-titlebar{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;gap:.5rem;padding:.6rem 1rem;-webkit-user-select:none;user-select:none}.terminal-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.terminal-dot.red{background:#ff5f57}.terminal-dot.yellow{background:#febc2e}.terminal-dot.green{background:#28c840}.terminal-title{color:#8b949e;flex:1 1;font-size:.8rem;margin-left:-60px;text-align:center}.terminal-reset-btn{background:none;border:1px solid #30363d;border-radius:4px;color:#8b949e;cursor:pointer;font-family:inherit;font-size:.75rem;padding:.2rem .6rem;transition:all .15s}.terminal-reset-btn:hover{background:#21262d;border-color:#8b949e;color:#c9d1d9}.terminal-body{background:#0d1117;color:#c9d1d9;cursor:text;line-height:1.55;max-height:480px;min-height:320px;overflow-y:auto;padding:1rem 1.25rem}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:#0d1117}.terminal-body::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}.terminal-line{margin-bottom:.1rem;white-space:pre-wrap;word-break:break-all}.terminal-line-cmd{color:#58a6ff}.terminal-line-output{color:#c9d1d9}.terminal-input-row{align-items:center;display:flex;margin-top:.1rem}.terminal-prompt{color:#3fb950;flex-shrink:0;white-space:pre}.terminal-input{background:#0000;border:none;caret-color:#58a6ff;color:#c9d1d9;flex:1 1;font-family:inherit;font-size:inherit;line-height:1.55;outline:none;width:100%}.terminal-input:focus,.terminal-input:focus-visible{outline:none}.terminal-nano{background:#0d1117;display:flex;flex-direction:column;height:480px}.terminal-nano-titlebar{background:#161b22;border-bottom:1px solid #30363d;color:#8b949e;display:flex;font-size:.8rem;justify-content:space-between;padding:.4rem 1rem}.terminal-nano-hint{color:#6e7681;font-size:.75rem}.terminal-nano-area{background:#0d1117;border:none;color:#c9d1d9;flex:1 1;font-family:inherit;font-size:inherit;line-height:1.6;outline:none;overflow-y:auto;padding:1rem 1.25rem;resize:none}.terminal-nano-statusbar{background:#161b22;border-top:1px solid #30363d;color:#8b949e;display:flex;font-size:.75rem;gap:2rem;padding:.35rem 1rem}@media (max-width:768px){.terminal-wrapper{font-size:.8rem;margin:1.5rem 0}.terminal-body{max-height:360px;min-height:260px;padding:.75rem 1rem}.terminal-nano{height:360px}}.curriculum-hero{background:linear-gradient(135deg,#0f172a,#1e3a5f 50%,#0f172a)}.curriculum-hero-label{background:#60a5fa26;border:1px solid #60a5fa4d;color:#93c5fd}.curriculum-course-links a,.curriculum-hero-meta a{color:#60a5fa}.curriculum-syllabus-panel{align-items:center;background:linear-gradient(135deg,#38bdf81a,#0ea5e90f);border:1px solid #38bdf847;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;margin:1.5rem auto 0;max-width:960px;padding:1rem 1.5rem}.csp-syllabus-panel-text{display:flex;flex:1 1 320px;flex-direction:column;gap:.2rem;min-width:0}.csp-syllabus-panel-text>strong:first-child{color:#38bdf8;font-size:1rem}.csp-syllabus-panel-text>span{color:#ffffffc7;color:var(--text-secondary,#ffffffc7);font-size:.85rem;line-height:1.45}.csp-syllabus-panel-text>span>strong{color:#fff;color:var(--text-primary,#fff);font-weight:700}.curriculum-syllabus-panel-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.curriculum-syllabus-panel-btn-primary,.curriculum-syllabus-panel-btn-secondary{border-radius:8px;display:inline-block;font-size:.9rem;font-weight:600;padding:.55rem 1rem;text-decoration:none;transition:background .18s,transform .1s,color .18s;white-space:nowrap}.curriculum-syllabus-panel-btn-primary{background:#38bdf8;color:#04293f}.curriculum-syllabus-panel-btn-primary:hover{background:#0ea5e9;color:#fff;transform:translateY(-1px)}.curriculum-syllabus-panel-btn-secondary{background:#0000;border:1px solid #38bdf88c;color:#38bdf8}.curriculum-syllabus-panel-btn-secondary:hover{background:#38bdf81f;color:#7dd3fc}@media (max-width:640px){.curriculum-syllabus-panel{align-items:stretch;flex-direction:column}.curriculum-syllabus-panel-actions{justify-content:stretch}.curriculum-syllabus-panel-btn-primary,.curriculum-syllabus-panel-btn-secondary{flex:1 1 auto;text-align:center}}.curr-stat-num{color:#60a5fa}.curr-link-chip{background:#60a5fa1a;border:1px solid #60a5fa4d;color:#60a5fa}.curr-link-chip:hover{background:#60a5fa33;border-color:#60a5fa80}.curriculum-cta{background:linear-gradient(135deg,#0f172a,#1e3a5f)}.curriculum-textbook-link a{color:#60a5fa}.curriculum-page{background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.curriculum-hero{background:linear-gradient(135deg,#0f172a,#0c4a6e 50%,#0f172a);border-bottom:1px solid #ffffff14;padding:4rem 2rem 3rem;text-align:center}.curriculum-hero-content{margin:0 auto;max-width:780px}.curriculum-hero-label{background:#06b6d426;border:1px solid #06b6d44d;border-radius:20px;color:#67e8f9;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.04em;margin-bottom:1rem;padding:.3rem 1rem;text-transform:uppercase}.curriculum-hero h1{color:#f1f5f9;font-size:2.6rem;font-weight:800;line-height:1.2;margin:0 0 1rem}.curriculum-hero h1 .hero-brand-pp{color:var(--primary-color)!important}.curriculum-hero p{color:#94a3b8;font-size:1.1rem;line-height:1.7;margin:0 0 1.5rem}.curriculum-hero-meta{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}.curriculum-hero-meta span{color:#94a3b8;font-size:.9rem}.curriculum-hero-meta a{color:#06b6d4;font-weight:600;text-decoration:none}.curriculum-hero-meta a:hover{text-decoration:underline}.curriculum-course-links{align-items:center;color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.75rem;justify-content:center}.curriculum-course-links a{color:#06b6d4;font-weight:600;text-decoration:none}.curriculum-course-links a:hover{text-decoration:underline}.curriculum-controls{display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:960px;padding:2rem 1.5rem 0}.curriculum-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.toggle-label{color:var(--text-secondary);font-size:.95rem;font-weight:600;white-space:nowrap}.toggle-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;overflow:hidden}.toggle-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.toggle-btn.active{background:var(--primary-color);color:#fff}.toggle-btn:not(.active):hover{background:#ffffff0d;color:var(--text-primary)}.toggle-note{color:var(--text-secondary);font-size:.82rem;font-style:italic;margin:0}.curriculum-purchase-banner{align-items:center;background:linear-gradient(135deg,#10b9811a,#05966914);border:1px solid #10b98140;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1rem 1.5rem}.purchase-banner-text{display:flex;flex-direction:column;gap:.25rem}.purchase-banner-text strong{color:#10b981;font-size:1rem}.purchase-banner-text span{color:var(--text-secondary);font-size:.85rem}.btn-purchase{background:#10b981;border-radius:8px;color:#fff;display:inline-block;font-size:.95rem;font-weight:700;padding:.65rem 1.4rem;text-decoration:none;transition:background .2s,transform .1s;white-space:nowrap}.btn-purchase:hover{background:#059669;transform:translateY(-1px)}.curriculum-class-discount{background:#38bdf80f;border:1px solid #38bdf833;border-radius:8px;color:var(--text-secondary);font-size:.88rem;margin:.75rem auto 0;max-width:960px;padding:.65rem 1.25rem;text-align:center}.curriculum-class-discount a{color:#38bdf8;font-weight:600;text-decoration:none}.curriculum-class-discount a:hover{text-decoration:underline}.curriculum-stats{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.5rem auto 0;max-width:960px;padding:0 1.5rem}.curr-stat{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;flex:1 1;flex-direction:column;min-width:90px;padding:.75rem 1.25rem}.curr-stat-num{color:#06b6d4;font-size:1.5rem;font-weight:800;line-height:1}.curr-stat-label{color:var(--text-secondary);font-size:.78rem;margin-top:.25rem;text-align:center}.curriculum-content{display:flex;flex-direction:column;gap:1rem;margin:2rem auto 0;max-width:960px;padding:0 1.5rem 4rem}.curriculum-unit-controls{display:flex;justify-content:flex-end;margin-bottom:.25rem}.unit-toggle-all-btn{background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;padding:.4rem .9rem;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.unit-toggle-all-btn:hover{background:#ffffff0f;border-color:var(--text-secondary);color:var(--text-primary)}.curr-unit-block{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;overflow:hidden}.curr-unit-header{align-items:center;background:var(--bg-secondary);border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:background .2s;width:100%}.curr-unit-header:hover{background:#ffffff0a}.curr-unit-icon{flex-shrink:0;font-size:1.3rem}.curr-unit-title{color:var(--text-primary);flex:1 1;font-size:1.05rem;font-weight:700}.curr-unit-count{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;font-size:.8rem;padding:.2rem .6rem}.curr-unit-chevron,.curr-unit-count{color:var(--text-secondary);flex-shrink:0}.curr-unit-chevron{font-size:.75rem}.curr-unit-days{background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.curr-day-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:border-color .2s}.curr-day-card.open{border-color:var(--primary-color)}.curr-day-header{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.curr-day-header:hover{background:#ffffff08}.curr-day-badge{background:var(--primary-color);border-radius:6px;color:#fff;display:inline-block;flex-shrink:0;font-size:.75rem;font-weight:700;min-width:60px;padding:.2rem .6rem;text-align:center;white-space:nowrap}.curr-day-title{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:600}.curr-day-chevron{color:var(--text-secondary);flex-shrink:0;font-size:.7rem}.curr-day-body{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem}.curr-section h4{color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.06em;margin:0 0 .4rem;text-transform:uppercase}.curr-section ul{display:flex;flex-direction:column;gap:.2rem;margin:0;padding-left:1.2rem}.curr-section ul li{line-height:1.5}.curr-section p,.curr-section ul li{color:var(--text-primary);font-size:.88rem}.curr-section p{line-height:1.6;margin:0}.curr-links{display:flex;flex-wrap:wrap;gap:.5rem}.curr-link-chip{background:#06b6d41a;border:1px solid #06b6d44d;border-radius:20px;color:#06b6d4;display:inline-block;font-size:.82rem;font-weight:600;padding:.3rem .75rem;text-decoration:none;transition:background .2s,border-color .2s}.curr-link-chip:hover{background:#06b6d433;border-color:#06b6d480}.curr-link-internal{background:#a855f71a;border-color:#a855f74d;color:#a855f7}.curr-link-internal:hover{background:#a855f733;border-color:#a855f780}.curr-note{background:#fbbf2412;border:1px solid #fbbf2433;border-radius:8px;padding:.75rem 1rem}.curr-note h4{color:#fbbf24}.curr-note p{color:var(--text-secondary);font-size:.87rem;line-height:1.5;margin:0}.curr-success-criteria{background:#10b9810f;border:1px solid #10b98133;border-radius:8px;padding:.75rem 1rem}.curr-success-criteria h4{color:#10b981}.curr-success-criteria li{color:var(--text-secondary)!important}.curr-success-criteria li::marker{color:#10b981}.curr-exit-ticket{background:#f43f5e0f;border:1px solid #f43f5e33;border-radius:8px;padding:.75rem 1rem}.curr-exit-ticket h4{color:#f43f5e}.curr-exit-ticket p{color:var(--text-secondary);font-size:.87rem;line-height:1.5;margin:0}.curr-differentiation{background:#a855f70f;border:1px solid #a855f733;border-radius:8px;padding:.75rem 1rem}.curr-differentiation h4{color:#a855f7}.curr-differentiation li{color:var(--text-secondary)!important}.curr-differentiation li::marker{color:#a855f7}.curr-standards{background:#6366f10f;border:1px solid #6366f133;border-radius:8px;padding:.75rem 1rem}.curr-standards h4{color:#818cf8}.curr-standards-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.curr-standards-list li{align-items:flex-start;color:var(--text-primary)!important;display:flex;font-size:.83rem!important;gap:.6rem;line-height:1.5!important}.curr-std-code{background:#6366f11f;border-radius:4px;color:#818cf8;flex-shrink:0;font-family:monospace;font-size:.78rem;font-weight:700;margin-top:.05rem;padding:.1rem .4rem}.curr-std-desc{color:var(--text-secondary);line-height:1.5}.curr-full-access-note{border-top:1px solid var(--border-color);color:#94a3b8;font-size:.82rem;margin-top:.25rem;padding-top:.75rem}.curr-full-access-note a{color:#10b981;font-weight:600;text-decoration:none}.curr-full-access-note a:hover{text-decoration:underline}.curriculum-cta{background:linear-gradient(135deg,#0f172a,#0c4a6e);border-top:1px solid #ffffff14;padding:4rem 2rem;text-align:center}.curriculum-cta h2{color:#f1f5f9;font-size:2rem;font-weight:800;margin:0 0 1rem}.curriculum-cta p{color:#94a3b8;font-size:1rem;line-height:1.7;margin:0 auto 2rem;max-width:620px}.curriculum-cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.curriculum-textbook-link{color:#94a3b8;font-size:.88rem}.curriculum-textbook-link a{color:#06b6d4;font-weight:600;text-decoration:none}.curriculum-textbook-link a:hover{text-decoration:underline}@media (max-width:640px){.curriculum-hero h1{font-size:1.8rem}.curriculum-hero p{font-size:.95rem}.curriculum-controls{padding:1.25rem 1rem 0}.curriculum-content{padding:0 1rem 3rem}.curriculum-stats{padding:0 1rem}.curriculum-purchase-banner,.curriculum-toggle{align-items:flex-start;flex-direction:column}.btn-purchase{text-align:center;width:100%}.curr-unit-title{font-size:.95rem}.curr-day-title{font-size:.88rem}.curriculum-cta h2{font-size:1.5rem}.curriculum-cta-actions{align-items:center;flex-direction:column}.curriculum-cta-actions .btn{max-width:300px;text-align:center;width:100%}}.curriculum-class-access{background:#0ea5e90f;border:1px solid #0ea5e933;border-radius:10px;margin-top:2rem;padding:1.25rem 1.5rem;text-align:center}.curriculum-class-access h3{color:var(--text-primary);font-size:1.05rem;margin:0 0 .5rem}.curriculum-class-access p{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0 auto 1rem;max-width:600px}.csa-curriculum-page .curriculum-hero h1 .hero-brand-pp{color:#00b509!important}.csa-curriculum-page .toggle-btn.active{background:#06b6d4;color:#0f172a}.csa-curriculum-page .curr-stat-num{color:#06b6d4}.csa-curriculum-page .curr-day-card.open{border-color:#06b6d4}.csa-curriculum-page .curr-day-badge{background:#06b6d4;color:#0f172a}.csa-curriculum-page .btn-primary{background:#06b6d4;border-color:#06b6d4;color:#0f172a}.csa-curriculum-page .btn-primary:hover{background:#0891b2;border-color:#0891b2}.csa-ced-badge{background:#06b6d41f;border:1px solid #06b6d44d;border-radius:6px;color:#22d3ee;font-size:.72rem;letter-spacing:.02em;margin-right:.5rem;padding:.15rem .55rem}.csa-ced-badge,.csa-type-badge{display:inline-block;font-weight:700}.csa-type-badge{border-radius:5px;font-size:.7rem;letter-spacing:.04em;padding:.12rem .5rem;text-transform:uppercase}.csa-type-lesson{background:#06b6d426;color:#22d3ee}.csa-type-practice{background:#8b5cf626;color:#c4b5fd}.csa-type-exam{background:#ef444426;color:#fca5a5}.csa-type-lab{background:#10b98126;color:#6ee7b7}.csa-type-review{background:#eab30826;color:#fde047}.csa-type-break{background:#ec489926;color:#f9a8d4}.csa-type-project{background:#6366f126;color:#a5b4fc}.csa-inheritance-warning{background:#eab30814;border:1px solid #eab3084d;border-radius:8px;color:#fde047;font-size:.88rem;line-height:1.5;margin-bottom:1rem;padding:.75rem 1rem}.legal-page{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1rem;line-height:1.6;margin:0 auto;max-width:860px;padding:2.5rem 1.5rem 4rem}.legal-page h1{color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:2rem;margin-bottom:.25rem}.legal-page .legal-meta{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;margin-bottom:2rem}.legal-page h2{border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--border-color,#ffffff1f);color:#00b509;color:var(--primary-color,#00b509);font-size:1.35rem;margin-bottom:.75rem;margin-top:2.25rem;padding-bottom:.35rem}.legal-page h3{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.1rem;margin-bottom:.5rem;margin-top:1.5rem}.legal-page ol,.legal-page p,.legal-page ul{color:#e5e7eb;color:var(--text-primary,#e5e7eb);margin:.5rem 0 1rem}.legal-page ol,.legal-page ul{padding-left:1.5rem}.legal-page li{margin-bottom:.35rem}.legal-page strong{color:#f8fafc;color:var(--text-primary,#f8fafc)}.legal-page .legal-callout{background:#00b50914;border-left:4px solid #00b509;border-left:4px solid var(--primary-color,#00b509);border-radius:4px;color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.95rem;margin:1rem 0;padding:.75rem 1rem}.legal-page .legal-toc{background:#ffffff0a;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;margin-bottom:2rem;padding:1rem 1.25rem}.legal-page .legal-toc ol{margin:.25rem 0 0 1.25rem;padding:0}.legal-page .legal-toc li{font-size:.95rem;margin-bottom:.15rem}.legal-page a{color:#00b509;color:var(--primary-color,#00b509);text-decoration:underline}.legal-page a:hover{opacity:.85}.legal-page .legal-contact{background:#ffffff0a;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;margin-top:2rem;padding:1rem 1.25rem}.legal-page .legal-downloads{list-style:none;margin:.75rem 0 1rem;padding-left:0}.legal-page .legal-downloads li{border-bottom:1px solid #ffffff0f;padding:.4rem 0}.legal-page .legal-state-filter{background:#ffffff0f;border:1px solid #ffffff2e;border:1px solid var(--border-color,#ffffff2e);border-radius:6px;color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.95rem;margin:.75rem 0;max-width:360px;padding:.5rem .75rem;width:100%}.legal-page .legal-state-table{border-collapse:collapse;font-size:.92rem;margin:.5rem 0 1rem;width:100%}.legal-page .legal-state-table td,.legal-page .legal-state-table th{border-bottom:1px solid #ffffff14;padding:.5rem .6rem;text-align:left;vertical-align:top}.legal-page .legal-state-table th{background:#ffffff0a;color:#f8fafc;color:var(--text-primary,#f8fafc);font-weight:600}.legal-page .legal-state-details{background:#ffffff08;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;margin:.75rem 0 1.25rem;padding:.5rem .75rem}.legal-page .legal-state-details summary{color:#e5e7eb;color:var(--text-primary,#e5e7eb);cursor:pointer;font-weight:600;padding:.25rem 0}.legal-page .legal-state-grid{grid-gap:.25rem 1rem;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:grid;font-size:.9rem;gap:.25rem 1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));list-style:none;margin:.5rem 0 0;padding-left:0}.syllabus-page{max-width:980px}.syllabus-hero{background:#00b5090f;border-left:4px solid #00b509;border-radius:0 8px 8px 0;margin:0 0 2rem;padding:1.75rem 1.5rem 1.5rem}.syllabus-hero-eyebrow{color:#00b509;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.syllabus-hero h1{font-size:1.75rem;line-height:1.2;margin:0 0 .5rem}.syllabus-hero-sub{color:#ffffffd9;color:var(--text-secondary,#ffffffd9);font-size:1rem;line-height:1.5;margin:0 0 1.25rem;max-width:64ch}.syllabus-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.syllabus-hero-actions .btn-large{font-size:.95rem;padding:.65rem 1.1rem}.syllabus-page .syllabus-footer-cta a.btn,.syllabus-page .syllabus-hero-actions a.btn{text-decoration:none}.syllabus-page .syllabus-footer-cta a.btn-primary,.syllabus-page .syllabus-hero-actions a.btn-primary{color:#fff}.syllabus-content{margin:0 0 2.5rem}.syllabus-content h2{border-bottom:1px solid #ffffff1f;color:#fff;color:var(--text-primary,#fff);font-size:1.4rem;margin-top:2.25rem;padding-bottom:.35rem}.syllabus-content h3{color:#fff;color:var(--text-primary,#fff);font-size:1.15rem;margin-top:1.6rem}.syllabus-content h4{font-size:1rem;margin-top:1.2rem}.syllabus-content li,.syllabus-content p{font-size:.95rem;line-height:1.55}.syllabus-content ol,.syllabus-content ul{padding-left:1.4rem}.syllabus-content li{margin:.25rem 0}.syllabus-content code{background:#ffffff14;border-radius:3px;font-size:.88em;padding:.05rem .35rem}.syllabus-content blockquote{background:#00b5090d;border-left:3px solid #00b509;color:#ffffffd9;color:var(--text-secondary,#ffffffd9);font-size:.92rem;margin:1rem 0;padding:.5rem .9rem}.syllabus-content blockquote p{margin:.4rem 0}.syllabus-content .table-scroll-wrapper{border:1px solid #ffffff1a;border-radius:6px;margin:.9rem 0 1.2rem;overflow-x:auto}.syllabus-content table{border-collapse:collapse;font-size:.9rem;width:100%}.syllabus-content td,.syllabus-content th{border-bottom:1px solid #ffffff14;padding:.55rem .75rem;text-align:left;vertical-align:top}.syllabus-content th{background:#00b50914;color:#fff;color:var(--text-primary,#fff);font-weight:600}.syllabus-content tr:last-child td{border-bottom:none}.syllabus-footer-cta{border-top:1px solid #ffffff1a;display:flex;justify-content:center;margin:2rem 0 1rem;padding:1.25rem}.syllabus-load-error,.syllabus-loading{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);padding:2rem;text-align:center}@media (max-width:600px){.syllabus-hero h1{font-size:1.4rem}.syllabus-hero-actions{align-items:stretch;flex-direction:column}.syllabus-hero-actions .btn-large{text-align:center;width:100%}}.block-editor{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:0;min-height:780px;overflow:hidden}.be-toolbar{align-items:center;background:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;padding:.625rem 1rem}.be-mode-toggle{border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden}.be-mode-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .75rem;transition:all .15s;white-space:nowrap}.be-mode-btn.active{background:var(--primary-color);color:#fff}.be-toolbar-spacer{flex:1 1}.be-toolbar-btn{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .85rem;transition:all .15s;white-space:nowrap}.be-btn-run{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.be-btn-run:hover:not(:disabled){background:var(--primary-hover)}.be-btn-run:disabled{cursor:not-allowed;opacity:.5}.be-btn-step{background:#1a6fb5;border-color:#1a6fb5;color:#fff}.be-btn-step:hover:not(:disabled){background:#1580d0}.be-btn-step:disabled{cursor:not-allowed;opacity:.5}.be-btn-stop{background:var(--error-color);border-color:var(--error-color);color:#fff}.be-btn-stop:hover:not(:disabled){background:#dc2626}.be-btn-stop:disabled{cursor:not-allowed;opacity:.5}.be-btn-reset{background:#0000;color:var(--text-secondary)}.be-btn-reset:hover{background:#ffffff0f;color:var(--text-primary)}.be-btn-pdf{background:#0000;border:1px solid #ffffff1f;color:var(--text-secondary)}.be-btn-pdf:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff40;color:var(--text-primary)}.be-btn-pdf:disabled{cursor:not-allowed;opacity:.35}.be-op-warn{align-items:center;animation:be-warn-in .2s ease;background:#f59e0b26;border-bottom:1px solid #f59e0b59;color:#fbbf24;display:flex;font-size:.82rem;gap:.75rem;padding:.55rem 1rem}@keyframes be-warn-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.be-op-warn span{flex:1 1}.be-op-warn strong{color:#fcd34d}.be-op-warn-close{background:none;border:none;color:#fbbf24;cursor:pointer;font-size:.9rem;line-height:1;opacity:.7;padding:0 .25rem}.be-op-warn-close:hover{opacity:1}.be-op-hint{background:#3b82f61f;border-bottom-color:#3b82f64d}.be-op-hint,.be-op-hint .be-op-warn-close{color:#93c5fd}.be-examples-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.35rem .5rem}.be-examples-select:hover{border-color:var(--text-secondary)}.be-body{display:flex;flex:1 1;min-height:0}.be-palette{background:var(--bg-color);border-right:1px solid var(--border-color);min-width:210px;overflow-y:auto;padding:.5rem 0;width:210px}.palette-category{border-bottom:1px solid var(--border-color)}.palette-category:last-child{border-bottom:none}.palette-category-header{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;padding:.5rem .75rem;transition:background .1s;-webkit-user-select:none;user-select:none}.palette-category-header:hover{background:#ffffff0a}.palette-category-icon{font-size:.9rem}.palette-category-arrow{color:var(--text-secondary);font-size:.65rem;margin-left:auto;transition:transform .15s}.palette-category-arrow.open{transform:rotate(90deg)}.palette-category-blocks{display:flex;flex-direction:column;gap:4px;padding:.25rem .5rem .5rem}.palette-block{align-items:center;background:#ffffff08;border-left:3px solid;border-radius:6px;color:var(--text-primary);cursor:grab;display:flex;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem;padding:.35rem .5rem;transition:all .15s;-webkit-user-select:none;user-select:none}.palette-block:hover{background:#ffffff14;transform:translateX(2px)}.palette-block:active{cursor:grabbing}.be-workspace{flex:1 1;min-height:300px;overflow-y:auto;padding:1rem;position:relative}.workspace-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;height:100%;justify-content:center;min-height:250px;opacity:.6;text-align:center}.workspace-empty-icon{font-size:2rem}.workspace-block{background:var(--bg-color);border:1px solid var(--border-color);border-left:4px solid;border-radius:8px;margin-bottom:2px;transition:box-shadow .15s,border-color .15s}.workspace-block.block-running{border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #00b5094d}.workspace-block.block-error{border-color:var(--error-color)!important;box-shadow:0 0 0 2px #ef44444d}.block-header{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .5rem}.block-grip{color:var(--text-secondary);cursor:grab;font-size:.7rem;letter-spacing:-1px;opacity:.5;padding-right:.15rem;-webkit-user-select:none;user-select:none}.block-grip:active{cursor:grabbing}.block-keyword{font-weight:700;white-space:nowrap}.block-keyword,.block-punct{font-family:Menlo,Monaco,Courier New,monospace;font-size:.78rem}.block-punct{color:var(--text-secondary)}.block-field-input{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace;font-size:.78rem;outline:none;padding:.15rem .4rem;transition:border-color .15s,box-shadow .15s}.block-field-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #00b50926}.block-field-input::placeholder{color:var(--text-secondary);font-style:italic;opacity:.5}.block-field-wide{flex:1 1 auto;min-width:80px}.block-delete{background:none;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;line-height:1;margin-left:auto;opacity:0;padding:.15rem .3rem;transition:all .1s}.workspace-block:hover .block-delete{opacity:.6}.block-delete:hover{background:#ef44441a;color:var(--error-color);opacity:1!important}.block-body{padding:0 .5rem .4rem 1.2rem}.block-body-label{font-size:.72rem;font-weight:700;padding:.15rem 0}.block-body-brace,.block-body-label{color:var(--text-secondary);font-family:Menlo,Monaco,Courier New,monospace}.block-body-brace{font-size:.78rem;opacity:.5;padding:0 .5rem}.block-body-content{border-left:2px solid #ffffff14;min-height:28px;padding-left:.5rem}.drop-zone{border-radius:3px;height:6px;margin:1px 0;transition:all .15s}.drop-zone.drag-over{background:#00b5091f;border:2px dashed var(--primary-color);border-radius:6px;height:32px}.drop-zone-empty{align-items:center;border:2px dashed #ffffff1a;border-radius:6px;color:var(--text-secondary);display:flex;font-size:.72rem;height:40px;justify-content:center;opacity:.5;transition:all .15s}.drop-zone-empty.drag-over{background:#00b50914;border-color:var(--primary-color);opacity:1}.be-output{background:var(--bg-color);border-left:1px solid var(--border-color);display:flex;flex-direction:column;min-width:280px;overflow:hidden;width:280px}.be-output-header{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:.78rem;font-weight:600;gap:.5rem;padding:.5rem .75rem}.be-output-header-icon{font-size:.85rem}.be-console{font-family:Menlo,Monaco,Courier New,monospace;font-size:.78rem;line-height:1.6;max-height:300px;min-height:80px;overflow-y:auto;padding:.5rem .75rem}.console-line{color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.console-line:before{color:var(--primary-color);content:"> "}.console-error,.console-error:before{color:var(--error-color)}.console-error:before{content:"✕ "}.console-empty{color:var(--text-secondary);font-style:italic;opacity:.4}.robot-grid-container{border-bottom:1px solid var(--border-color);padding:.75rem}.robot-grid{grid-gap:2px;aspect-ratio:1;background:var(--border-color);border:2px solid var(--border-color);border-radius:6px;display:grid;gap:2px;margin:0 auto;max-width:250px;overflow:hidden}.robot-cell{align-items:center;background:#1a1a2e;cursor:pointer;display:flex;justify-content:center;position:relative;transition:background .15s}.robot-cell:hover:not(.robot-cell-robot){background:#252540}.robot-cell-obstacle{background:#3a3a4a!important}.robot-cell-obstacle:hover{background:#4a4a5a!important}.robot-cell-robot{background:#00b50926;cursor:default}.robot-arrow{align-items:center;display:flex;filter:drop-shadow(0 0 4px rgba(0,181,9,.5));height:70%;justify-content:center;transition:transform .3s ease;width:70%}.robot-wall{background:var(--text-secondary);border-radius:3px;height:60%;opacity:.4;width:60%}.robot-controls{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:.5rem}.robot-size-btns{display:flex;gap:4px}.robot-size-btn{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:.2rem .5rem;transition:all .1s}.robot-size-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.robot-size-btn:disabled{cursor:not-allowed;opacity:.5}.robot-reset-btn{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:.2rem .5rem}.robot-reset-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.robot-reset-btn:disabled{cursor:not-allowed;opacity:.5}.robot-legend{color:var(--text-secondary);display:flex;font-size:.65rem;gap:.75rem;justify-content:center;margin-top:.4rem}.legend-swatch{border-radius:2px;display:inline-block;height:10px;margin-right:3px;vertical-align:middle;width:10px}.legend-open{background:#1a1a2e;border:1px solid var(--border-color)}.legend-wall{background:#3a3a4a}.legend-robot{background:#00b5094d}.be-vars-header{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.72rem;font-weight:600;padding:.4rem .75rem}.be-vars{flex:1 1;font-family:Menlo,Monaco,Courier New,monospace;font-size:.72rem;min-height:0;overflow-y:auto;padding:.35rem .75rem}.be-var-row{color:var(--text-secondary);display:flex;gap:.5rem;padding:.1rem 0}.be-var-name{color:#58a6ff;min-width:60px}.be-var-value{color:var(--text-primary);word-break:break-all}.be-input-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.be-input-dialog{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);min-width:320px;padding:1.5rem}.be-input-dialog h3{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.be-input-dialog p{color:var(--text-secondary)}.be-input-dialog p,.be-input-field{font-size:.85rem;margin-bottom:.75rem}.be-input-field{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace;outline:none;padding:.5rem;width:100%}.be-input-field:focus{border-color:var(--primary-color)}.be-input-submit{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem}.be-input-submit:hover{background:var(--primary-hover)}.be-speed-control{align-items:center;color:var(--text-secondary);display:flex;font-size:.72rem;gap:.35rem}.be-speed-control input[type=range]{accent-color:var(--primary-color);width:60px}@media (max-width:1024px){.be-body{flex-wrap:wrap}.be-palette{min-width:160px;width:160px}.be-output{border-left:none;border-top:1px solid var(--border-color);max-height:300px;min-width:100%;width:100%}}@media (max-width:768px){.be-body{flex-direction:column}.be-palette{border-bottom:1px solid var(--border-color);border-right:none;max-height:200px;min-width:100%;width:100%}.palette-category-blocks{flex-direction:row;flex-wrap:wrap}.be-workspace{min-height:250px}.be-output{border-left:none;border-top:1px solid var(--border-color);max-height:300px;min-width:100%;width:100%}.be-toolbar{gap:.4rem;padding:.5rem}.be-toolbar-btn{font-size:.75rem;padding:.3rem .6rem}}.be-console::-webkit-scrollbar,.be-palette::-webkit-scrollbar,.be-vars::-webkit-scrollbar,.be-workspace::-webkit-scrollbar{width:6px}.be-console::-webkit-scrollbar-track,.be-palette::-webkit-scrollbar-track,.be-vars::-webkit-scrollbar-track,.be-workspace::-webkit-scrollbar-track{background:#0000}.be-console::-webkit-scrollbar-thumb,.be-palette::-webkit-scrollbar-thumb,.be-vars::-webkit-scrollbar-thumb,.be-workspace::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.palette-block-expression{border:1px solid!important;border-radius:12px!important;cursor:grab;font-size:.72rem;margin-left:2px;overflow:visible;padding:.25rem .65rem!important;text-align:center}.palette-block-expression:hover{filter:brightness(1.3)}.palette-pill-divider{border-top:1px solid #ffffff0f;color:var(--text-secondary);font-size:.6rem;font-weight:600;letter-spacing:.05em;margin-top:.2rem;opacity:.5;padding:.3rem .15rem .1rem;text-transform:uppercase}.palette-pill{align-items:center;border:1px dashed;border-radius:12px;cursor:grab;display:flex;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem;font-weight:600;justify-content:center;overflow:hidden;padding:.25rem .65rem;text-align:center;text-overflow:ellipsis;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.palette-pill:hover{filter:brightness(1.2);transform:translateX(2px)}.palette-pill:active{cursor:grabbing}.palette-pill-var{background:#ff8c1a1a;border-color:#ff8c1a66;color:#ffb366}.palette-pill-list{background:#40bf4a1a;border-color:#40bf4a66;color:#6dd676}.palette-pill-proc{background:#ff66801a;border-color:#ff668066;color:#ff99b3}.palette-pill-param{background:#ff66800f;border-color:#ff668040;color:#ff99b3;font-size:.68rem;gap:0;margin-left:12px}.palette-pill-scoped{border-style:dashed}.pill-scope-tag{background:#ff66802e;border-radius:3px;color:#ff6680;font-size:.5rem;font-weight:700;letter-spacing:.04em;line-height:1;margin-right:4px;padding:1px 4px;text-transform:uppercase}.palette-pill-list-bracket{background:#40bf4a0f;border-color:#40bf4a40;color:#6dd676;gap:0;margin-left:12px;padding:.2rem .45rem}.palette-pill-list-bracket .bracket-name{margin-right:1px}.palette-pill-list-bracket .bracket-close,.palette-pill-list-bracket .bracket-open{color:#40bf4a;font-size:.85rem;font-weight:700}.bracket-index-input{background:#ffffff14;border:1px solid #40bf4a4d;border-radius:3px;color:#fff;font-family:inherit;font-size:.7rem;max-width:6ch;min-width:2ch;outline:none;padding:1px 2px;text-align:center;width:2.5ch}.bracket-index-input:focus{border-color:#40bf4a;box-shadow:0 0 0 1px #40bf4a66}.bracket-index-input::placeholder{color:#94a3b8;font-style:italic}.field-slot{align-items:center;display:inline-flex;position:relative;vertical-align:middle}.field-slot-droppable{border-radius:4px;transition:box-shadow .15s}.field-slot-hover{background:#00b5091a;box-shadow:0 0 0 2px var(--primary-color)}.field-slot-hover-invalid{background:#ef44441f;box-shadow:0 0 0 2px #ef4444}.field-slot-occupied{background:#0000}.field-slot-occupied .block-field-input{display:none}.expression-block{align-items:center;border:1px solid;border-radius:10px;cursor:grab;display:inline-flex;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;gap:2px;line-height:1.4;padding:1px 6px;vertical-align:middle;white-space:nowrap}.expression-block .expression-block{font-size:.7rem}.expr-label{font-size:.72rem;font-weight:600}.expr-keyword{color:var(--text-primary);font-size:.72rem;font-weight:700}.expr-punct{color:var(--text-secondary);font-size:.72rem}.expr-field-slot{align-items:center;display:inline-flex;position:relative}.expr-field-droppable{border-radius:3px;transition:box-shadow .15s}.expr-slot-hover{background:#00b5091a;box-shadow:0 0 0 1px var(--primary-color)}.expr-slot-hover-invalid{background:#ef44441f;box-shadow:0 0 0 1px #ef4444}.expr-field-occupied{padding:0}.expr-field-input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:3px;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;outline:none;padding:0 3px;text-align:center}.expr-field-input:focus{background:#ffffff1f;border-color:var(--primary-color)}.expr-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.6rem;line-height:1;margin-left:2px;opacity:.5;padding:0 2px}.expr-delete:hover{color:#f44;opacity:1}.be-tutorial{border-bottom:1px solid var(--border-color)}.be-tutorial-header{align-items:center;background:var(--bg-color);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:.45rem 1rem;transition:background .1s;-webkit-user-select:none;user-select:none}.be-tutorial-header:hover{background:#ffffff0a}.be-tutorial-arrow{color:var(--text-secondary);font-size:.65rem;transition:transform .15s}.be-tutorial-arrow.open{transform:rotate(90deg)}.be-tutorial-body{background:#ffffff05;color:var(--text-secondary);font-size:.75rem;line-height:1.45;padding:.4rem 1rem .6rem}.be-tutorial-items{display:flex;gap:1.25rem}.be-tutorial-item{align-items:flex-start;display:flex;flex:1 1;gap:.5rem}.be-tutorial-icon{align-items:center;display:flex;flex-shrink:0;height:28px;justify-content:center;width:32px}.be-tutorial-icon-text{color:var(--primary-color);font-size:1rem}.be-tutorial-block-demo{background:#ff8c1a26;border:1px solid #ff8c1a;border-left-width:3px;border-radius:4px;height:16px;width:26px}.be-tutorial-pill-demo{background:#9966ff26;border:1px solid #96f;border-radius:10px;height:16px;width:26px}.be-tutorial-item strong{color:var(--text-primary)}.be-tutorial-item em{color:#fbbf24;font-style:normal}.touch-drag-indicator{background:var(--bg-color);border:2px solid var(--primary-color);border-radius:8px;box-shadow:0 4px 16px #0006;color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem;font-weight:600;opacity:.9;padding:.3rem .65rem;pointer-events:none;position:fixed;white-space:nowrap;z-index:10000}@media (max-width:768px){.be-tutorial-items{flex-direction:column;gap:.4rem}.be-tutorial-item{gap:.35rem}.be-tutorial-icon{height:22px;width:24px}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.be-kbd-banner{align-items:center;background:#00b5091f;border:2px solid #00b509;border:2px solid var(--primary-color,#00b509);border-radius:6px;color:#f5f5f5;color:var(--text-primary,#f5f5f5);display:flex;font-size:.9rem;gap:.6rem;line-height:1.35;margin:.4rem 0;padding:.55rem .9rem}.be-kbd-banner kbd{background:#ffffff1f;border:1px solid #ffffff59;border-radius:3px;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;margin:0 2px;padding:1px 6px}.be-kbd-banner-icon{font-size:1.05rem}.be-tutorial-item kbd{background:#ffffff14;border:1px solid #ffffff4d;border-radius:3px;color:#f5f5f5;color:var(--text-primary,#f5f5f5);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;margin:0 1px;padding:1px 6px}.kbd-valid-target{background-color:#00b50914!important;outline:2px dashed #00b509!important;outline:2px dashed var(--primary-color,#00b509)!important;outline-offset:2px}.kbd-active-target{background-color:#00b50938!important;box-shadow:0 0 0 4px #00b5092e;outline:3px solid #00b509!important;outline:3px solid var(--primary-color,#00b509)!important;outline-offset:2px}.block-editor .palette-block:focus-visible,.block-editor .palette-pill:focus-visible,.block-editor .workspace-block:focus-visible{outline:3px solid #00b509;outline:3px solid var(--primary-color,#00b509);outline-offset:2px}.be-btn-save{background:#ffffff0a;border-color:var(--border-color);color:#e2e8f0;color:var(--text-primary,#e2e8f0)}.be-btn-save:hover:not(:disabled){background:#ffffff14;border-color:#ffffff40}.be-btn-save:disabled{cursor:not-allowed;opacity:.4}.be-btn-share{background:#6366f11f;border-color:#6366f166;color:#c7d2fe}.be-btn-share:hover:not(:disabled){background:#6366f138;color:#e0e7ff}.be-btn-share:disabled{cursor:not-allowed;opacity:.4}.be-btn-fullscreen{background:#ffffff0a;border-color:var(--border-color);color:#e2e8f0;color:var(--text-primary,#e2e8f0)}.be-btn-fullscreen:hover{background:#ffffff14;border-color:#ffffff40}.be-btn-fullscreen.is-on{background:#00b5092e;border-color:#00b50973;color:#86efac}.be-cloud-status-row{background:var(--bg-color);border-bottom:1px solid var(--border-color);color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.78rem;min-height:1.4rem;padding:.35rem 1rem}.be-cloud-status{display:inline-block}.be-cloud-saving{color:#fcd34d}.be-cloud-saved{color:#86efac}.be-cloud-loading{color:#9ca3af}.be-cloud-error{color:#fca5a5}.be-cloud-anon{color:#9ca3af}.be-share-toast{animation:beShareToastIn .18s ease-out;border-radius:8px;box-shadow:0 6px 16px #00000040;font-size:.85rem;font-weight:600;padding:.6rem .9rem;pointer-events:none;position:absolute;right:1rem;top:4.5rem;z-index:50}.be-share-toast-ok{background:#00b5092e;border:1px solid #00b50973;color:#86efac}.be-share-toast-err{background:#dc26262e;border:1px solid #dc262673;color:#fca5a5}@keyframes beShareToastIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.block-editor.is-fullscreen.is-fullscreen{border:none;border-radius:0;display:flex;flex-direction:column;height:100vh;inset:0;margin:0;max-height:100vh;position:fixed;width:100vw;z-index:1000}.block-editor.is-fullscreen.is-fullscreen .be-toolbar{flex-shrink:0}.block-editor.is-fullscreen.is-fullscreen .be-tutorial{display:none}.block-editor.is-fullscreen.is-fullscreen .be-body{flex:1 1;min-height:0;overflow:hidden}.block-editor.is-fullscreen.is-fullscreen .be-output-panel,.block-editor.is-fullscreen.is-fullscreen .be-palette,.block-editor.is-fullscreen.is-fullscreen .be-workspace{height:100%;max-height:none;overflow:auto}.be-leave-modal-overlay{align-items:center;animation:beLeaveOverlayIn .15s ease-out;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1100}.be-leave-modal{animation:beLeaveModalIn .18s ease-out;background:#181b22;background:var(--bg-secondary,#181b22);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:12px;box-shadow:0 16px 48px #00000080;max-width:460px;padding:1.5rem;width:100%}.be-leave-modal-title{color:#f1f5f9;color:var(--text-primary,#f1f5f9);font-size:1.15rem;margin:0 0 .5rem}.be-leave-modal-desc{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.92rem;line-height:1.5;margin:0 0 1.25rem}.be-leave-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}@keyframes beLeaveOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes beLeaveModalIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.be-modal-mode-tabs{border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--border-color,#ffffff1f);display:flex;gap:0;margin:.5rem 0 1rem}.be-modal-mode-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;flex:1 1;font-size:.88rem;font-weight:600;padding:.5rem .75rem;transition:color .15s,border-color .15s}.be-modal-mode-tab:hover{color:#f1f5f9;color:var(--text-primary,#f1f5f9)}.be-modal-mode-tab.active{border-bottom-color:#00b509;border-bottom-color:var(--primary-color,#00b509);color:#00b509;color:var(--primary-color,#00b509)}.be-modal-input{background:#0f1115;background:var(--bg-color,#0f1115);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;box-sizing:border-box;color:#f1f5f9;color:var(--text-primary,#f1f5f9);font-family:inherit;font-size:.95rem;margin-bottom:1rem;padding:.6rem .75rem;width:100%}.be-modal-input:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 3px #00b5092e;outline:none}.be-snapshot-picker{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.25rem}.be-snapshot-select{background:#0f1115;background:var(--bg-color,#0f1115);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;color:#f1f5f9;color:var(--text-primary,#f1f5f9);cursor:pointer;font-size:.85rem;max-width:280px;padding:.35rem .65rem}.be-snapshot-select:focus-visible{outline:2px solid #00b509;outline:2px solid var(--primary-color,#00b509);outline-offset:2px}.be-btn-restore{background:#00b5091f;border-color:#00b50966;color:#86efac}.be-btn-restore:hover{background:#00b50938;color:#bbf7d0}.be-btn-delete,.be-btn-rename{background:#ffffff0a;border-color:#ffffff1f;border-color:var(--border-color,#ffffff1f);color:#9ca3af;color:var(--text-secondary,#9ca3af);padding-left:.5rem;padding-right:.5rem}.be-btn-rename:hover{background:#ffffff14;color:#f1f5f9;color:var(--text-primary,#f1f5f9)}.be-btn-delete:hover{background:#dc262626;border-color:#dc262666;color:#fca5a5}.wce-wrap{background:#0d1117;border:1px solid var(--border-color);border-radius:0;color:#e6edf3;display:grid;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;grid-template-columns:3.25rem 1fr;line-height:1.55;min-height:27.9em;min-height:calc(var(--wce-rows, 18)*1.55em);overflow:hidden;position:relative}.wce-gutter{font-feature-settings:"tnum";background:#0a0d12;border-right:1px solid #1f2937;color:#565f6e;font:inherit;font-variant-numeric:tabular-nums;margin:0;overflow:hidden;padding:.5rem;text-align:right;-webkit-user-select:none;user-select:none;white-space:pre}.wce-gutter-marker-empty{display:inline-block;width:1.2em}.wce-highlight,.wce-wrap-view{color:#e6edf3;font:inherit;margin:0;overflow:hidden;padding:.5rem .75rem;pointer-events:none;white-space:pre;word-break:normal}.wce-wrap-view{white-space:normal}.wce-line{display:block;padding-left:0;padding-left:var(--wce-indent,0);text-indent:0;text-indent:calc(var(--wce-indent, 0ch)*-1);white-space:pre-wrap}.wce-linenum{display:none}.wce-textarea{-webkit-text-fill-color:#0000;background:#0000;border:0;bottom:0;caret-color:#58a6ff;color:#0000;font:inherit;height:100%;left:3.25rem;margin:0;outline:none;overflow:auto;padding:.5rem .75rem;position:absolute;resize:none;right:0;top:0;white-space:pre;width:calc(100% - 3.25rem)}.wce-word-wrap .wce-textarea{white-space:pre-wrap;word-break:break-word}.wce-textarea::selection{-webkit-text-fill-color:#0000;background:#388bfd59;color:#0000}.wce-kw{color:#ff7b72}.wce-type{color:#d2a8ff}.wce-lit{color:#79c0ff}.wce-str{color:#a5d6ff}.wce-num{color:#79c0ff}.wce-cmt{color:#8b949e;font-style:italic}.wce-fn{color:#d2a8ff}.wce-id{color:#e6edf3}.wce-op{color:#c9d1d9}.wce-lang-html .wce-tag{color:#7ee787}.wce-lang-html .wce-attr{color:#79c0ff}.wce-lang-html .wce-str{color:#a5d6ff}.wce-lang-html .wce-id,.wce-lang-html .wce-op{color:#c9d1d9}.wce-lang-html .wce-cmt{color:#8b949e;font-style:italic}.wce-lang-css .wce-prop{color:#79c0ff}.wce-lang-css .wce-val{color:#ffa657}.wce-lang-css .wce-sel{color:#7ee787}.wce-lang-css .wce-num{color:#ffa657}.wce-lang-css .wce-str{color:#a5d6ff}.wce-bracket-match{background:#58a6ff38;border-radius:2px;outline:1px solid #58a6ff73}.wce-wrap[style*="--wce-rows"]{height:100%}.wce-autocomplete{background:#1e2530;border:1px solid #3f3f46;border-radius:6px;box-shadow:0 12px 32px #0009;display:flex;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;max-height:16rem;max-width:16rem;min-width:9rem;overflow-y:auto;padding:.2rem 0;position:absolute;transform:translate(.2rem,.2rem);z-index:60}.wce-autocomplete-item{background:#0000;border:0;color:#d2a8ff;cursor:pointer;font:inherit;padding:.35rem .8rem;text-align:left;transition:background 80ms;white-space:nowrap}.wce-autocomplete-item.selected,.wce-autocomplete-item:hover{background:#58a6ff2e;color:#fff}.wce-autocomplete-item.selected:before{color:#00b509;color:var(--primary-color,#00b509);content:"▸ ";font-weight:700}.wce-color-swatch{align-items:center;border:2px solid #ffffffd9;border-radius:4px;box-shadow:0 2px 8px #0009,inset 0 0 0 1px #00000059;cursor:pointer;display:inline-flex;height:1.5rem;justify-content:center;padding:0;position:absolute;transform:translateY(.25rem);transition:transform 80ms,box-shadow 80ms;width:1.5rem;z-index:50}.wce-color-swatch:hover{box-shadow:0 4px 12px #000000b3,inset 0 0 0 1px #00000059;transform:translateY(.25rem) scale(1.08)}.wce-color-swatch-label{filter:invert(1) grayscale(1) contrast(2);font-size:.7rem;mix-blend-mode:difference;pointer-events:none}.wce-color-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.web-runner{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;display:grid;grid-template-areas:"toolbar toolbar toolbar" "tabs    tabs    tabs" "editor  split   preview";grid-template-columns:minmax(0,1fr) 6px 460px;grid-template-columns:minmax(0,1fr) 6px var(--wr-preview-w,460px);grid-template-rows:auto auto 1fr;min-height:32rem;overflow:hidden}@media (max-width:900px){.web-runner{grid-template-areas:"toolbar" "tabs" "editor" "split" "preview";grid-template-columns:1fr;grid-template-rows:auto auto 1fr 6px 26rem}.wr-col-splitter{cursor:row-resize!important}}.web-runner.is-fullscreen{border:0;border-radius:0;inset:0;min-height:100vh;position:fixed;z-index:9999}.web-runner-toolbar{align-items:center;background:#1a1a1a;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.5rem .75rem;grid-area:toolbar;min-width:0;padding:.6rem .9rem}.web-runner-btn{border:0;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;padding:.45rem 1rem;transition:background .12s,transform .12s}.web-runner-btn:disabled{cursor:not-allowed;opacity:.45}.web-runner-run{background:var(--primary-color);color:#000}.web-runner-run:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.web-runner-format,.web-runner-fullscreen,.web-runner-redo,.web-runner-reset,.web-runner-save,.web-runner-share,.web-runner-undo{background:#2a2a2a;border:1px solid #3f3f46;color:#e4e4e7}.web-runner-format:hover:not(:disabled),.web-runner-fullscreen:hover:not(:disabled),.web-runner-redo:hover:not(:disabled),.web-runner-reset:hover:not(:disabled),.web-runner-save:hover:not(:disabled),.web-runner-share:hover:not(:disabled),.web-runner-undo:hover:not(:disabled){background:#3a3a3a;border-color:#52525b;transform:translateY(-1px)}.web-runner-redo,.web-runner-undo{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding-left:.7rem;padding-right:.7rem}.web-runner-fullscreen.is-on{background:#00b50926;border-color:#00b50980;color:#00b509;color:var(--primary-color,#00b509)}.web-runner-share.is-copied{background:#00b50938;border-color:#00b509a6;box-shadow:0 0 0 2px #00b5092e;color:#d1fae5}.web-runner-autorun{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.4rem;padding:.3rem .55rem;-webkit-user-select:none;user-select:none}.web-runner-autorun input{accent-color:var(--primary-color)}.web-runner-last-modified{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;color:#ffffff8c;cursor:help;display:inline-flex;font-size:.78rem;gap:.35rem;margin-left:auto;padding:.3rem .55rem;white-space:nowrap}.web-runner-last-modified-value{font-feature-settings:"tnum";color:#ffffffd9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}@media (max-width:600px){.web-runner-last-modified-label{display:none}}.wr-file-tabs{align-items:stretch;background:#111;border-bottom:1px solid var(--border-color);display:flex;gap:0;grid-area:tabs;overflow-x:auto;scrollbar-width:thin}.wr-file-tab{align-items:center;background:#161616;border-right:1px solid var(--border-color);border-top:2px solid #0000;color:var(--text-secondary);display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;gap:.25rem;padding:0 .25rem 0 .75rem;transition:background .12s,color .12s,border-color .12s}.wr-file-tab:hover{background:#1f1f1f;color:var(--text-primary)}.wr-file-tab.active{background:#0d1117;border-top-color:var(--primary-color);color:var(--text-primary)}.wr-file-tab-name{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:.45rem;max-width:12rem;overflow:hidden;padding:.5rem .25rem .5rem 0;text-overflow:ellipsis;white-space:nowrap}.wr-file-tab-dot{background:#555;border-radius:50%;flex:0 0 auto;height:.55rem;width:.55rem}.wr-file-tab-dot-html{background:#e34c26}.wr-file-tab-dot-css{background:#2965f1}.wr-file-tab-dot-javascript{background:#f7df1e}.wr-file-tab-close{align-items:center;background:#0000;border:0;border-radius:3px;color:#a1a1aa;cursor:pointer;display:flex;font-size:1rem;height:1.2rem;justify-content:center;line-height:1;padding:0;width:1.2rem}.wr-file-tab-close:hover{background:#3a1818;color:#fca5a5}.wr-file-tab-add{background:#0000;border:0;border-right:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;padding:0 .75rem;transition:background .12s,color .12s}.wr-file-tab-add:hover{background:#1f1f1f;color:var(--primary-color)}.wr-editor-column{background:#0d1117;display:flex;flex-direction:column;grid-area:editor;min-width:0}.wr-editor-image-note{background:#00b50914;border-bottom:1px solid #00b50940;color:var(--text-secondary);font-size:.78rem;line-height:1.5;padding:.45rem .85rem}.wr-editor-image-note code{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:0 .3rem}.wr-editor-wrap{display:flex;flex:1 1 auto;min-height:0}.wr-editor-wrap>.wce-wrap{border:0;border-radius:0;flex:1 1}.web-runner.wr-is-dragging,.web-runner.wr-is-dragging *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.web-runner.wr-is-dragging .wr-preview-iframe{pointer-events:none}.wr-col-splitter{background:#1a1a1a;cursor:col-resize;grid-area:split;position:relative;transition:background .12s}.wr-col-splitter:before{color:#ffffff73;content:"⋮";font-size:14px;left:50%;line-height:1;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.wr-col-splitter:after{background:linear-gradient(180deg,#0000,#ffffff0f 50%,#0000);content:"";inset:0;pointer-events:none;position:absolute}.wr-col-splitter:hover{background:var(--primary-color)}.wr-col-splitter:hover:before{color:#000}.wr-col-splitter::backdrop{background:#0000}@media (max-width:900px){.wr-col-splitter:before{content:"⋯"}}.wr-preview-column{background:#fafafa;border-left:1px solid var(--border-color);display:flex;flex-direction:column;grid-area:preview;min-width:0}.wr-preview-header{align-items:center;background:#1a1a1a;border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:.78rem;gap:.75rem;justify-content:space-between;padding:.45rem .8rem}.wr-preview-label{color:var(--text-primary);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.wr-preview-hint{color:var(--text-secondary);font-style:italic}.wr-preview-entry{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.78rem;gap:.35rem;margin-right:auto}.wr-preview-entry-label{color:var(--text-secondary);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.wr-preview-entry-select{background:#0f0f0f;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;padding:.15rem .4rem}.wr-preview-entry-select:hover{border-color:var(--primary-color)}.wr-preview-entry-select:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.wr-preview-iframe{background:#fff;border:0;flex:1 1 auto;min-height:14rem;width:100%}.wr-console-tabs{align-items:stretch;background:#161616;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:flex}.wr-console-tab{background:#0000;border:0;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.55rem .9rem}.wr-console-tab.active,.wr-console-tab:hover{color:var(--text-primary)}.wr-console-tab.active{border-bottom-color:var(--primary-color)}.wr-console-tab.has-error{color:#fca5a5}.wr-console-tab.active.has-error{border-bottom-color:var(--error-color)}.wr-console-count{color:#fff6;font-weight:500}.wr-console-tabs-spacer{flex:1 1 auto}.wr-console-clear{background:#0000;border:0;color:var(--text-secondary);cursor:pointer;font-size:.78rem;padding:0 .85rem}.wr-console-clear:hover{color:var(--primary-color)}.wr-console-body{background:#0b0b0b;flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem;line-height:1.55;max-height:14rem;min-height:6rem;overflow:auto;padding:.35rem 0}.wr-console-empty{color:#94a3b8;font-style:italic;padding:1rem;white-space:pre-wrap}.wr-console-empty code{background:#1f1f1f;border-radius:3px;color:#9cdcfe;font-style:normal;padding:0 .3rem}.wr-console-row{grid-gap:.65rem;border-bottom:1px solid #ffffff0d;display:grid;gap:.65rem;grid-template-columns:4.5rem 1fr;padding:.35rem .85rem}.wr-console-method{align-self:start;color:#94a3b8;font-size:.7rem;letter-spacing:.06em;padding-top:.1rem;text-transform:uppercase}.wr-console-row-error{background:#f871710f}.wr-console-row-error .wr-console-method{color:#fca5a5}.wr-console-row-warn{background:#fbbf240d}.wr-console-row-warn .wr-console-method{color:#fbbf24}.wr-console-row-info .wr-console-method{color:#93c5fd}.wr-console-content{min-width:0}.wr-console-arg{color:#e6edf3;margin:0 0 .15rem}.wr-console-arg,.wr-console-message{white-space:pre-wrap;word-break:break-word}.wr-console-message{color:#fca5a5;font-weight:600}.wr-console-location{color:#94a3b8;font-size:.78rem;margin-top:.2rem}.wr-console-stack{background:#0006;border-left:2px solid #fca5a5;color:#cbd5e1;font-size:.78rem;margin-top:.35rem;padding:.45rem .6rem;white-space:pre-wrap;word-break:break-word}.wr-prompt-modal-input{background:#0f0f0f;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);border-radius:6px;box-sizing:border-box;color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;margin-bottom:1.25rem;outline:none;padding:.65rem .85rem;width:100%}.wr-prompt-modal-input:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 2px #00b5092e}.web-ide-page{background:var(--bg-secondary);color:var(--text-primary);min-height:100vh}.wip-header{background:linear-gradient(135deg,#111,#000);border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:2.5rem 1.5rem 2rem}.wip-header-inner{align-items:flex-end;display:flex;flex-wrap:wrap;gap:2rem;margin:0 auto;max-width:1280px}.wip-label{background:#a855f726;border:1px solid #a855f759;border-radius:20px;color:#c4b5fd;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.03em;margin-bottom:.6rem;padding:.3rem .8rem}.wip-header h1{color:var(--text-primary);font-size:2.1rem;margin:.25rem 0 .75rem}.wip-header p{color:var(--text-secondary);line-height:1.55;margin:0;max-width:560px}.wip-header-actions{margin-left:auto}.wip-header-actions .btn{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.wip-header-actions .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.wip-mobile-banner{background:#f59e0b1f;border-bottom:1px solid #f59e0b4d;color:#fbbf24;display:none;font-size:.9rem;padding:.8rem 1rem;text-align:center}@media (max-width:640px){.wip-mobile-banner{display:block}}.wip-main{margin:0 auto;max-width:1280px;padding:2rem 1.5rem 3rem}.wip-editor-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.wip-info{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.wip-info.open{border-color:#a855f759}.wip-info-toggle{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.5rem;padding:.7rem 1rem;text-align:left;width:100%}.wip-info-toggle:hover{background:#1a1a1a;color:#c4b5fd}.wip-info-chevron{color:var(--text-secondary);display:inline-block;font-size:.85rem;text-align:center;width:1rem}.wip-info-badge{background:#a855f72e;border:1px solid #a855f766;border-radius:999px;color:#c4b5fd;font-size:.72rem;font-weight:700;margin-left:auto;padding:.05rem .55rem}.wip-info-body{border-top:1px solid var(--border-color);padding:.25rem 1rem 1rem}.wip-info-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:720px){.wip-info-grid{grid-template-columns:1fr}}.wip-info-col h4{align-items:baseline;color:var(--text-primary);display:flex;font-size:.9rem;gap:.5rem;margin:.85rem 0 .45rem}.wip-info-sub{color:var(--text-secondary);font-size:.72rem;font-weight:400}.wip-side-note{margin:0 0 .75rem}.wip-side-note,.wip-tips{color:var(--text-secondary);font-size:.85rem}.wip-tips{line-height:1.65;list-style:disc;margin:0;padding-left:1.2rem}.wip-tips code{border:1px solid #2f2f2f;border-radius:3px;color:#9cdcfe;font-size:.82em;padding:0 .3rem}.wip-tips code,.wip-tips kbd{background:#1f1f1f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wip-tips kbd{border:solid #3f3f46;border-radius:4px;border-width:1px 1px 2px;color:#e4e4e7;font-size:.78em;padding:.05rem .4rem}.wip-snapshot-dropdown-wrap{display:flex;flex-direction:column;gap:.5rem}.wip-snapshot-select{background:#0f0f0f;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.85rem;padding:.5rem .7rem}.wip-snapshot-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.wip-snapshot-delete-btn{background:#0000;border:1px solid #fca5a573;border-radius:6px;color:#fca5a5;cursor:pointer;font-size:.8rem;padding:.3rem .7rem}.wip-snapshot-delete-btn:hover{background:#fca5a51a;border-color:#fca5a5}.wip-toolbar-below{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:.5rem}.wip-cloud-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wip-cloud-status,.wip-snapshot-upsell{color:var(--text-secondary);font-size:.85rem}.wip-snapshot-upsell a{color:var(--primary-color);font-weight:600}.wip-assignment-banner{background:linear-gradient(135deg,#a855f71f,#0006);border:1px solid #a855f773;border-radius:8px;margin-bottom:.5rem;padding:1rem 1.2rem}.wip-assignment-banner-review{background:linear-gradient(135deg,#38bdf81a,#0006);border-color:#38bdf873}.wip-assignment-banner-head{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem .75rem}.wip-assignment-banner-tag{background:#a855f72e;border:1px solid #a855f766;border-radius:999px;color:#c4b5fd;font-size:.7rem;font-weight:800;letter-spacing:.08em;padding:.2rem .55rem;text-transform:uppercase}.wip-assignment-banner-review .wip-assignment-banner-tag{background:#38bdf82e;border-color:#38bdf866;color:#7dd3fc}.wip-assignment-banner-title{color:var(--text-primary);flex:1 1 auto;font-size:1.05rem;margin:0;min-width:0}.wip-assignment-banner-due{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.wip-assignment-banner-prompt{background:#00000059;border-left:2px solid #a855f780;border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.55;margin:.75rem 0 0;padding:.75rem .85rem;white-space:pre-wrap;word-break:break-word}.wip-assignment-banner-review .wip-assignment-banner-prompt{border-left-color:#38bdf880}.wip-assignment-banner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem .85rem;margin-top:.85rem}.wip-assignment-banner-history{color:var(--text-secondary);font-size:.82rem}.wip-assignment-banner-history strong{color:var(--text-primary)}.wip-assignment-banner-ok{color:#d1fae5;font-size:.85rem}.wip-assignment-banner-err{color:#fecaca;font-size:.85rem}.wip-share-toast{animation:wipShareToastFadeIn .18s ease-out;background:#000000eb;border:1px solid #0000;border-radius:8px;box-shadow:0 8px 24px #00000080;color:var(--text-primary);font-size:.9rem;left:50%;line-height:1.45;max-width:min(540px,calc(100vw - 2rem));padding:.65rem 1.1rem;pointer-events:none;position:fixed;text-align:center;top:1.25rem;transform:translateX(-50%);z-index:10001}@keyframes wipShareToastFadeIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.wip-share-toast-ok{background:#064e3b;border-color:#10b98199;color:#d1fae5}.wip-share-toast-err{background:#7f1d1d;border-color:#ef444499;color:#fee2e2}.wip-upsell{grid-gap:1.5rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr;margin-top:1.5rem;padding:1.5rem}@media (max-width:820px){.wip-upsell{grid-template-columns:1fr}}.wip-upsell h2{color:var(--text-primary);font-size:1.3rem;margin:.3rem 0 .6rem}.wip-upsell p{color:var(--text-secondary);line-height:1.6;margin:0}.wip-upsell-badge{background:#a855f72e;border:1px solid #a855f766;border-radius:999px;color:#c4b5fd;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase}.wip-upsell-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.wip-upsell-teacher{background:#ffffff05;border-left:2px solid var(--border-color);padding-left:1.25rem}.wip-upsell-teacher h3{font-size:1rem;margin:0 0 .5rem}.wip-modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2000}.wip-modal{background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 16px 60px #00000080;max-width:28rem;padding:1.5rem;width:100%}.wip-modal-title{color:var(--text-primary);font-size:1.1rem;margin:0 0 .5rem}.wip-modal-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 .85rem}.wip-modal-mode-tabs{background:#0f0f0f;border-radius:6px;display:flex;gap:.25rem;margin-bottom:.85rem;padding:.25rem}.wip-modal-mode-tab{background:#0000;border:0;border-radius:4px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.45rem .6rem}.wip-modal-mode-tab.active{background:var(--bg-color);color:var(--text-primary)}.wip-modal-input{background:#0f0f0f;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:.95rem;margin-bottom:1rem;outline:none;padding:.65rem .85rem;width:100%}.wip-modal-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #00b5092e}.wip-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.maven-tests-page{min-height:calc(100vh - 80px)}.maven-hero{background:linear-gradient(135deg,#004d04,#001a01);color:#fff;padding:5rem 2rem;text-align:center}.maven-hero-content{margin:0 auto;max-width:780px}.maven-hero-label{background:#ffffff1f;border:1px solid #fff3;border-radius:20px;color:#ffffffe6;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.maven-hero h1{font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.hero-brand-pp{color:var(--primary-color)}.maven-hero-subtitle{display:block;font-size:1.5rem;font-weight:600;margin-top:.25rem;opacity:.85}.maven-hero p{font-size:1.15rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.maven-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.maven-hero-actions .btn{min-width:180px}.maven-hero-actions .btn-primary{background-color:var(--primary-color);color:#fff}.maven-hero-actions .btn-primary:hover{background-color:var(--primary-hover);color:#fff}.maven-hero-actions .btn-outline{border-color:#ffffff80;color:#fff}.maven-hero-actions .btn-outline:hover{background-color:#ffffff1a}.maven-stats-bar{background:linear-gradient(180deg,#004d040f 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:2.5rem 2rem}.maven-stats{flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:900px}.maven-stat,.maven-stats{align-items:center;display:flex}.maven-stat{flex-direction:column;gap:.35rem;min-width:80px}.maven-stat-num{color:var(--primary-color);font-size:2.25rem;font-weight:800;line-height:1}.maven-stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.maven-stat-divider{background:var(--border-color);flex-shrink:0;height:2.5rem;width:1px}.maven-getting-started{margin:0 auto;max-width:1000px;padding:4rem 2rem}.maven-section-title{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.5rem;text-align:center}.maven-section-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.maven-steps{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.maven-step-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:all .2s}.maven-step-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.maven-step-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#000;display:inline-flex;font-size:.875rem;font-weight:800;height:36px;justify-content:center;margin-bottom:.75rem;width:36px}.maven-step-icon{display:block;font-size:2rem;margin-bottom:.75rem}.maven-step-card h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.maven-step-card p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0}.maven-units-section{margin:0 auto;max-width:960px;padding:4rem 2rem}.maven-units-list{display:flex;flex-direction:column;gap:.75rem}.maven-test-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:border-color .2s}.maven-test-card.open{border-color:var(--primary-color)}.maven-test-header{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:.9rem 1.25rem;text-align:left;transition:background .15s;width:100%}.maven-test-header:hover{background:#ffffff08}.maven-test-badge{align-items:center;background:#00b5091f;border-radius:6px;color:var(--primary-color);display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:28px;justify-content:center;min-width:32px;padding:0 .5rem;white-space:nowrap}.maven-test-badge.extra{background:#8b5cf61f;color:#a78bfa}.maven-test-title{flex:1 1;font-size:.95rem;font-weight:600;min-width:0}.maven-test-meta{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.maven-test-points{background:#00b50914;border-radius:12px;color:var(--primary-color);font-size:.75rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.maven-test-count{white-space:nowrap}.maven-test-chevron,.maven-test-count{color:var(--text-secondary);font-size:.75rem}.maven-test-chevron{flex-shrink:0;transition:transform .2s}.maven-test-card.open .maven-test-chevron{transform:rotate(180deg)}.maven-test-body{border-top:1px solid var(--border-color);padding:1.25rem 1.5rem 1.5rem}.maven-test-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.25rem}.maven-test-topics{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.maven-topic-tag{background:#ffffff0f;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.2rem .55rem;text-transform:uppercase}.maven-scoring-table{border-collapse:collapse;font-size:.875rem;margin-bottom:1.25rem;width:100%}.maven-scoring-table th{background:#ffffff08;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.08em;padding:.5rem .75rem;text-align:left;text-transform:uppercase}.maven-scoring-table td{border-bottom:1px solid #ffffff0a;color:var(--text-primary);padding:.5rem .75rem}.maven-scoring-table tr:last-child td{border-bottom:none}.maven-scoring-table .method-name{color:var(--primary-color);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8rem}.maven-scoring-table .method-points{font-weight:700;text-align:center;width:60px}.maven-scoring-table .method-desc{color:var(--text-secondary);font-size:.8rem}.maven-scoring-total{align-items:center;background:#00b5090f;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding:.75rem}.maven-scoring-total span:first-child{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.maven-scoring-total span:last-child{color:var(--primary-color);font-size:1rem;font-weight:800}.maven-test-actions{align-items:center;display:flex;gap:.75rem}.maven-github-btn{align-items:center;background:var(--primary-color);border-radius:8px;color:#000;display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.maven-github-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.maven-teachers{margin:0 auto;max-width:960px;padding:4rem 2rem}.maven-teacher-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.maven-teacher-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.75rem 1.5rem;transition:all .2s}.maven-teacher-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.maven-teacher-card-icon{font-size:1.75rem;margin-bottom:.75rem}.maven-teacher-card h3{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.maven-teacher-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.maven-commit-guide{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-top:2rem;padding:1.5rem 1.75rem}.maven-commit-guide h3{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.maven-commit-steps{display:flex;flex-direction:column;gap:.75rem}.maven-commit-step{align-items:flex-start;display:flex;gap:.75rem}.maven-commit-num{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:24px;justify-content:center;margin-top:2px;min-width:24px;width:24px}.maven-commit-step div{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.maven-commit-step strong{color:var(--text-primary)}.maven-commit-step code{background:#00b5091a;border-radius:4px;color:var(--primary-color);font-size:.8rem;padding:.1em .4em}.maven-tip-box{align-items:flex-start;animation:maven-tip-glow 3s ease-in-out infinite alternate;background:linear-gradient(135deg,#00b50914,#38bdf814);border:2px solid #00b5094d;border-radius:12px;display:flex;gap:.75rem;margin-top:1.5rem;padding:1rem 1.25rem}@keyframes maven-tip-glow{0%{border-color:#00b5094d}to{border-color:#00b5098c}}.maven-tip-icon{flex-shrink:0;font-size:1.4rem;margin-top:.1rem}.maven-tip-content{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.maven-tip-content strong{color:#00b509}.maven-classroom-guide{margin-top:2.5rem}.maven-guide-heading{color:var(--text-primary);font-size:1.15rem;margin-bottom:1rem}.maven-guide-item{border:1px solid var(--border-color);border-radius:10px;margin-bottom:.5rem;overflow:hidden;transition:border-color .2s}.maven-guide-item.open{border-color:var(--primary-color)}.maven-guide-header{align-items:center;background:var(--bg-secondary);border:none;color:inherit;cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:1rem 1.25rem;text-align:left;width:100%}.maven-guide-header:hover{background:#00b5090a}.maven-guide-step{background:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase}.maven-guide-title{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:600}.maven-guide-chevron{color:var(--text-secondary);flex-shrink:0;font-size:.65rem}.maven-guide-body{background:var(--bg-color);border-top:1px solid var(--border-color);padding:1rem 1.5rem 1.25rem}.maven-guide-body ol{margin:0;padding-left:1.25rem}.maven-guide-body li{color:var(--text-secondary);font-size:.85rem;line-height:1.65;margin-bottom:.4rem}.maven-guide-body li strong{color:var(--text-primary)}.maven-guide-body li a{color:var(--primary-color);text-decoration:none}.maven-guide-body li a:hover{text-decoration:underline}.maven-guide-body code{background:#00b5091a;border-radius:4px;color:var(--primary-color);font-size:.8rem;padding:.1em .4em}.maven-guide-warning{background:#ffa50014;border:1px solid #ffa5004d;border-radius:8px;color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:1rem;padding:.75rem 1rem}.maven-guide-warning strong{color:#f59e0b}.maven-guide-warning code{background:#ffa5001a;border-radius:4px;color:#f59e0b;font-size:.8rem;padding:.1em .4em}.maven-resources{margin:0 auto;max-width:960px;padding:4rem 2rem}.maven-resource-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.maven-resource-card{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:inherit;display:flex;gap:1rem;padding:1.5rem;text-decoration:none;transition:all .2s}.maven-resource-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.maven-resource-icon{flex-shrink:0;font-size:2rem}.maven-resource-info h3{color:var(--text-primary);font-size:1rem;margin-bottom:.35rem}.maven-resource-info p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.maven-resource-arrow{align-self:center;color:var(--text-secondary);flex-shrink:0;font-size:.875rem;margin-left:auto;transition:transform .2s}.maven-resource-card:hover .maven-resource-arrow{color:var(--primary-color);transform:translateX(3px)}.maven-promo{background:linear-gradient(135deg,#001a01,#000a00);color:#fff;padding:5rem 2rem;text-align:center}.maven-promo h2{font-size:2.25rem;font-weight:800;margin-bottom:.75rem}.maven-promo>p{font-size:1.1rem;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.maven-promo-link{color:var(--primary-color);font-weight:600;text-decoration:none}.maven-promo-link:hover{color:#4ade80;text-decoration:underline}.maven-promo-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 auto;max-width:900px}.maven-promo-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 4px 24px #0006;display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.5rem;text-align:left}.maven-promo-card.free{background:#94a3b814;border-color:#94a3b840}.maven-promo-card.free .maven-promo-badge{color:#94a3b8}.maven-promo-card.featured{background:#00b5091a;border-color:#00b50980;box-shadow:0 4px 24px #00b50926,0 4px 24px #0006}.maven-promo-card.teacher{background:#fbbf2414;border-color:#fbbf2459}.maven-promo-card.teacher .maven-promo-badge{color:#fbbf24}.maven-feature-label{color:#ffffff80;font-size:.7rem!important;font-weight:700;letter-spacing:.08em;margin-top:.3rem;opacity:1!important;padding-left:0!important;text-transform:uppercase}.maven-feature-label:before{content:none!important}.maven-promo-badge{color:var(--primary-color);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.maven-promo-price{align-items:baseline;display:flex;gap:.4rem}.maven-promo-amount{font-size:2rem;font-weight:800}.maven-promo-period{font-size:.8rem;opacity:.7}.maven-promo-desc{font-size:.85rem;line-height:1.5;opacity:.85}.maven-promo-features{display:flex;flex:1 1;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.maven-promo-features li{font-size:.85rem;opacity:.9;padding-left:1.25rem;position:relative}.maven-promo-features li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.maven-promo-features li.feature-highlight{color:var(--primary-color);font-weight:700;opacity:1}.maven-promo-card .btn{margin-top:.5rem;text-align:center}.maven-note{background:#00b5090f;border:1px solid #00b50926;border-radius:8px;color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin-top:1.5rem;padding:.75rem 1rem;text-align:center}.maven-note strong{color:var(--primary-color)}.maven-divider{border:none;border-top:1px solid var(--border-color);margin:0}@media (max-width:768px){.maven-hero{padding:3.5rem 1rem}.maven-hero h1{font-size:2rem}.maven-hero-subtitle{font-size:1.15rem}.maven-hero p{font-size:1rem}.maven-hero-actions{align-items:stretch;flex-direction:column}.maven-hero-actions .btn{width:100%}.maven-stats-bar{padding:1.75rem 1rem}.maven-stats{gap:1.25rem}.maven-stat-num{font-size:1.75rem}.maven-stat-label{font-size:.7rem}.maven-stat-divider{display:none}.maven-getting-started,.maven-resources,.maven-teachers,.maven-units-section{padding:3rem 1rem}.maven-section-title{font-size:1.65rem}.maven-resource-grid,.maven-steps,.maven-teacher-grid{grid-template-columns:1fr}.maven-test-header{gap:.5rem;padding:.75rem 1rem}.maven-test-title{font-size:.85rem}.maven-test-count{display:none}.maven-test-body{padding:1rem}.maven-scoring-table{font-size:.8rem}.maven-scoring-table .method-desc{display:none}.maven-promo{padding:3rem 1rem}.maven-promo h2{font-size:1.75rem}.maven-promo-cards{grid-template-columns:1fr}.maven-commit-guide{padding:1.25rem}.maven-guide-header{padding:.75rem 1rem}.maven-guide-body{padding:.75rem 1rem 1rem}}@media (max-width:480px){.maven-hero h1{font-size:1.65rem}.maven-test-meta{gap:.4rem}.maven-test-points{font-size:.65rem;padding:.15rem .4rem}}.maven-video-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);margin:1.25rem auto;max-width:900px}.maven-video-wrap{margin:0}.maven-video-embed{background:#000;border-radius:8px;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.maven-video-embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.maven-video-title{color:var(--text-secondary);font-size:.85rem;margin:.5rem 0 0;text-align:center}@media (max-width:768px){.maven-video-grid{grid-template-columns:1fr}}.js-hero{background:linear-gradient(135deg,#2d1854,#120a24)!important}.js-hero .maven-hero-label{background:#a855f726;border-color:#a855f74d;color:#a855f7}.js-project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem 1.75rem;transition:border-color .2s}.js-project-card:hover{border-color:var(--primary-color)}.js-project-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.js-project-header h3{color:var(--text-primary);font-size:1.25rem;margin:0}.js-project-badge{background:#a855f726!important;color:#a855f7!important}.js-project-features{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;margin:1.25rem 0;padding:0}.js-project-features li{color:var(--text-secondary);font-size:.85rem;line-height:1.5;padding-left:1.25rem;position:relative}.js-project-features li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.js-project-next{background:#00b5090a;border:1px solid #00b5091f;border-radius:8px;margin-top:1.5rem;padding:1.25rem}.js-project-next h4{color:var(--text-primary);font-size:.95rem;margin:0 0 .5rem}.js-project-next p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.js-lesson-plan-btn{background:#a855f726!important;border:1px solid #a855f74d;color:#a855f7!important}.js-lesson-plan-btn:hover{background:#a855f740!important;color:#c084fc!important}.js-related-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin:0 auto 3rem;max-width:900px;padding:1.75rem 2rem;text-align:center}.js-related-section h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.js-related-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem}.js-related-section a:not(.btn){color:var(--primary-color);text-decoration:underline}.js-related-btn{display:inline-block}.js-video-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);margin:1.25rem auto;max-width:900px}.js-video-wrap{margin:1.25rem 0}.js-video-single{margin-left:auto;margin-right:auto;max-width:720px}.js-video-embed{background:#000;border-radius:8px;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.js-video-embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.js-video-title{color:var(--text-secondary);font-size:.85rem;margin:.5rem 0 0;text-align:center}@media (max-width:768px){.js-project-features{grid-template-columns:1fr}.js-project-card{padding:1.25rem}.js-video-grid{grid-template-columns:1fr}}.vocab-page{min-height:calc(100vh - 80px)}.vocab-hero{background:linear-gradient(135deg,#2d1854,#120a24);color:#fff;padding:5rem 2rem;text-align:center}.vocab-hero-content{margin:0 auto;max-width:780px}.vocab-hero-label{background:#a855f726;border:1px solid #a855f74d;border-radius:20px;color:#a855f7;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.vocab-hero h1{font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.vocab-hero-subtitle{display:block;font-size:1.5rem;font-weight:600;margin-top:.25rem;opacity:.85}.vocab-hero p{font-size:1.15rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.vocab-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vocab-hero-actions .btn{min-width:180px}.vocab-hero-actions .btn-primary{background-color:var(--primary-color);color:#fff}.vocab-hero-actions .btn-primary:hover{background-color:var(--primary-hover);color:#fff}.vocab-hero-actions .btn-outline{border-color:#ffffff80;color:#fff}.vocab-hero-actions .btn-outline:hover{background-color:#ffffff1a}.vocab-stats-bar{background:linear-gradient(180deg,#a855f70f 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:2.5rem 2rem}.vocab-stats{flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:900px}.vocab-stat,.vocab-stats{align-items:center;display:flex}.vocab-stat{flex-direction:column;gap:.35rem;min-width:80px}.vocab-stat-num{color:var(--primary-color);font-size:2.25rem;font-weight:800;line-height:1}.vocab-stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.vocab-stat-divider{background:var(--border-color);flex-shrink:0;height:2.5rem;width:1px}.vocab-search-section{margin:0 auto;max-width:960px;padding:2.5rem 2rem 1.5rem}.vocab-search-wrapper{margin:0 auto 1.5rem;max-width:600px;position:relative}.vocab-search-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:1rem;outline:none;padding:.85rem 1.25rem;transition:border-color .2s;width:100%}.vocab-search-input::placeholder{color:var(--text-secondary);opacity:.6}.vocab-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #00b5091a}.vocab-search-count{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.5rem;text-align:center}.vocab-letter-nav{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.vocab-letter-btn{background:#00b50914;border:1px solid #00b50926;border-radius:6px;color:var(--primary-color);cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:700;padding:.3rem .6rem;transition:all .15s}.vocab-letter-btn:hover{background:#00b5092e;border-color:var(--primary-color);transform:translateY(-1px)}.vocab-divider{border:none;border-top:1px solid var(--border-color);margin:0}.vocab-list-section{margin:0 auto;max-width:960px;padding:3rem 2rem}.vocab-letter-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:.75rem;overflow:hidden;transition:border-color .2s}.vocab-letter-group:has(.expanded){border-color:var(--primary-color)}.vocab-letter-header{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:.9rem 1.25rem;text-align:left;transition:background .15s;width:100%}.vocab-letter-header:hover{background:#ffffff08}.vocab-letter-header.expanded{border-bottom:1px solid var(--border-color)}.vocab-letter-label{align-items:center;background:#00b5091f;border-radius:8px;color:var(--primary-color);display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:32px;justify-content:center;min-width:40px;padding:0 .65rem}.vocab-letter-count{color:var(--text-secondary);flex:1 1;font-size:.85rem}.vocab-letter-chevron{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.vocab-terms-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:1.25rem}.vocab-term-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;transition:all .2s}.vocab-term-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.vocab-term-name{color:var(--primary-color);font-size:.95rem;font-weight:700;margin-bottom:.35rem}.vocab-term-def{color:var(--text-secondary);font-size:.825rem;line-height:1.55;margin:0}.vocab-no-results{color:var(--text-secondary);font-size:1rem;padding:3rem 1rem;text-align:center}.vocab-no-results strong{color:var(--text-primary)}.vocab-expand-controls{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.vocab-expand-btn{background:#0000;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;letter-spacing:.02em;padding:.3rem .9rem;transition:border-color .2s,color .2s}.vocab-expand-btn:hover{border-color:var(--primary-color);color:var(--text-primary)}.vocab-promo{background:linear-gradient(135deg,#001a01,#000a00);color:#fff;padding:5rem 2rem;text-align:center}.vocab-promo h2{font-size:2.25rem;font-weight:800;margin-bottom:.75rem}.vocab-promo>p{font-size:1.1rem;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.vocab-promo-link{color:var(--primary-color);font-weight:600;text-decoration:none}.vocab-promo-link:hover{color:#4ade80;text-decoration:underline}.vocab-promo-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 auto;max-width:960px}.vocab-promo-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 4px 24px #0006;display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.5rem;text-align:left}.vocab-promo-card.free{background:#94a3b814;border-color:#94a3b840}.vocab-promo-card.free .vocab-promo-badge{color:#94a3b8}.vocab-promo-card.featured{background:#00b5091a;border-color:#00b50980;box-shadow:0 4px 24px #00b50926,0 4px 24px #0006}.vocab-promo-card.teacher{background:#fbbf2414;border-color:#fbbf2459}.vocab-promo-card.teacher .vocab-promo-badge{color:#fbbf24}.vocab-promo-badge{color:var(--primary-color);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.vocab-promo-price{align-items:baseline;display:flex;gap:.4rem}.vocab-promo-amount{font-size:2rem;font-weight:800}.vocab-promo-period{font-size:.8rem;opacity:.7}.vocab-promo-desc{font-size:.85rem;line-height:1.5;opacity:.85}.vocab-promo-features{display:flex;flex:1 1;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.vocab-promo-features li{font-size:.85rem;opacity:.9;padding-left:1.25rem;position:relative}.vocab-promo-features li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.vocab-promo-features li.feature-highlight{color:var(--primary-color);font-weight:700;opacity:1}.vocab-feature-label{color:#ffffff80;font-size:.7rem!important;font-weight:700;letter-spacing:.08em;margin-top:.3rem;opacity:1!important;text-transform:uppercase}.vocab-promo-card .btn{margin-top:.5rem;text-align:center}@media (max-width:768px){.vocab-hero{padding:3.5rem 1rem}.vocab-hero h1{font-size:2rem}.vocab-hero-subtitle{font-size:1.15rem}.vocab-hero p{font-size:1rem}.vocab-hero-actions{align-items:stretch;flex-direction:column}.vocab-hero-actions .btn{width:100%}.vocab-stats-bar{padding:1.75rem 1rem}.vocab-stats{gap:1.25rem}.vocab-stat-num{font-size:1.75rem}.vocab-stat-label{font-size:.7rem}.vocab-stat-divider{display:none}.vocab-list-section,.vocab-search-section{padding:2rem 1rem}.vocab-terms-grid{grid-template-columns:1fr;padding:.75rem}.vocab-promo{padding:3rem 1rem}.vocab-promo h2{font-size:1.75rem}.vocab-promo-cards{grid-template-columns:1fr}}@media (max-width:480px){.vocab-hero h1{font-size:1.65rem}.vocab-letter-nav{gap:.25rem}.vocab-letter-btn{font-size:.65rem;padding:.25rem .45rem}}.app-promo-card{align-items:center;background:#00b5090f;border:1px solid #00b50959;border-radius:10px;color:#f5f5f5;color:var(--text-color,#f5f5f5);display:flex;gap:1rem;margin:1.5rem 0;padding:1rem 1.25rem;position:relative}.app-promo-card.is-dismissible{padding-right:2.75rem}.app-promo-card-dismiss{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;font-size:1.25rem;height:28px;justify-content:center;line-height:1;opacity:.55;padding:0;position:absolute;right:10px;top:8px;width:28px}.app-promo-card-dismiss:focus-visible,.app-promo-card-dismiss:hover{background:#ffffff14;border-color:#ffffff2e;opacity:1;outline:none}.app-promo-card-icon{border-radius:14px;display:block;flex-shrink:0;height:64px;width:64px}.app-promo-card-body{flex:1 1 auto;min-width:0}.app-promo-card-headline{font-size:1.05rem;font-weight:600;line-height:1.25}.app-promo-card-tagline{font-size:.9rem;margin-top:.25rem;opacity:.8}.app-promo-card-badges{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.4rem}.app-promo-card-badge{display:inline-block;line-height:0}.app-promo-card-badge img{display:block;height:40px;width:auto}.app-promo-card-badge:hover{opacity:.85}@media (max-width:540px){.app-promo-card{flex-wrap:wrap;justify-content:center;text-align:center}.app-promo-card-body{flex-basis:100%;text-align:left}}.debug-page{min-height:calc(100vh - 80px)}.debug-hero{background:linear-gradient(135deg,#1a0033,#0d001a 50%,#001a01);color:#fff;padding:5rem 2rem;text-align:center}.debug-hero-content{margin:0 auto;max-width:780px}.debug-hero-label{background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:20px;color:#c4b5fd;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.debug-hero h1{font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.debug-hero-subtitle{display:block;font-size:1.5rem;font-weight:600;margin-top:.25rem;opacity:.85}.debug-hero p{font-size:1.15rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.debug-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.debug-hero-actions .btn{min-width:180px}.debug-hero-actions .btn-primary{background-color:#8b5cf6;color:#fff}.debug-hero-actions .btn-primary:hover{background-color:#7c3aed;color:#fff}.debug-hero-screenshot{margin:3rem auto 0;max-width:900px}.debug-screenshot-img{border:1px solid #8b5cf64d;border-radius:12px;box-shadow:0 20px 60px #00000080,0 0 40px #8b5cf61a;width:100%}.debug-hero-actions .btn-outline{border-color:#ffffff80;color:#fff}.debug-hero-actions .btn-outline:hover{background-color:#ffffff1a}.debug-app-promo{margin:0 auto;max-width:900px;padding:1.5rem 2rem 0}.debug-stats-bar{background:linear-gradient(180deg,#8b5cf60a 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:2.5rem 2rem}.debug-stats{flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:900px}.debug-stat,.debug-stats{align-items:center;display:flex}.debug-stat{flex-direction:column;gap:.35rem;min-width:80px}.debug-stat-num{color:#a78bfa;font-size:2.25rem;font-weight:800;line-height:1}.debug-stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.debug-stat-divider{background:var(--border-color);flex-shrink:0;height:2.5rem;width:1px}.debug-section-title{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.5rem;text-align:center}.debug-section-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.debug-divider{border:none;border-top:1px solid var(--border-color);margin:0}.debug-modes{margin:0 auto;max-width:960px;padding:4rem 2rem}.debug-modes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.debug-mode-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem 1.5rem;transition:all .2s}.debug-mode-card:hover{box-shadow:0 8px 24px #0000004d;transform:translateY(-4px)}.debug-mode-card.csp{border-color:#00b50940}.debug-mode-card.csp:hover{border-color:var(--primary-color)}.debug-mode-card.csa{border-color:#3b82f640}.debug-mode-card.csa:hover{border-color:#3b82f6}.debug-mode-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.75rem;padding:.25rem .6rem;text-transform:uppercase}.debug-mode-card.csp .debug-mode-badge{background:#00b5091f;color:var(--primary-color)}.debug-mode-card.csa .debug-mode-badge{background:#3b82f61f;color:#60a5fa}.debug-mode-card h3{color:var(--text-primary);font-size:1.15rem;margin-bottom:.5rem}.debug-mode-card p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1rem}.debug-mode-topics{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.debug-mode-topics li{color:var(--text-secondary);font-size:.8rem;padding-left:1rem;position:relative}.debug-mode-topics li:before{color:var(--primary-color);content:"\2022";left:0;position:absolute}.debug-mode-card.csa .debug-mode-topics li:before{color:#60a5fa}.debug-how-it-works{margin:0 auto;max-width:1000px;padding:4rem 2rem}.debug-steps{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.debug-step-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:all .2s}.debug-step-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #0000004d;transform:translateY(-4px)}.debug-step-number{align-items:center;background:#8b5cf6;border-radius:50%;color:#fff;display:inline-flex;font-size:.875rem;font-weight:800;height:36px;justify-content:center;margin-bottom:.75rem;width:36px}.debug-step-card h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.debug-step-card p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0}.debug-levels{margin:0 auto;max-width:960px;padding:4rem 2rem}.debug-levels-grid{display:flex;flex-direction:column;gap:.75rem}.debug-level-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.25rem 1.5rem;transition:all .2s}.debug-level-card:hover{border-color:#8b5cf6;transform:translateY(-2px)}.debug-level-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.debug-level-name{color:var(--text-primary);font-size:1rem;font-weight:700}.debug-level-dots{display:flex;gap:.3rem}.debug-dot{background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;height:10px;width:10px}.debug-dot.filled{background:#8b5cf6;border-color:#8b5cf6}.debug-level-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.55;margin:0}.debug-bonus-tease{align-items:center;background:#8b5cf60f;border:1px solid #8b5cf633;border-radius:10px;display:flex;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem}.debug-bonus-icon{flex-shrink:0;font-size:1.5rem}.debug-bonus-tease p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.debug-bonus-tease strong{color:#c4b5fd}.debug-teachers{margin:0 auto;max-width:960px;padding:4rem 2rem}.debug-teacher-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.debug-teacher-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.75rem 1.5rem;transition:all .2s}.debug-teacher-card:hover{border-color:#8b5cf6;transform:translateY(-2px)}.debug-teacher-card h3{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.debug-teacher-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.debug-play-cta{margin:0 auto;max-width:700px;padding:4rem 2rem;text-align:center}.debug-play-cta h2{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.75rem}.debug-play-cta p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:2rem}.debug-play-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.debug-play-actions .btn{min-width:180px}.debug-play-actions .btn-primary{background-color:#8b5cf6;color:#fff}.debug-play-actions .btn-primary:hover{background-color:#7c3aed}.debug-play-actions .btn-outline{border-color:var(--primary-color);color:var(--primary-color)}.debug-play-actions .btn-outline:hover{background-color:#00b50914}.debug-promo{background:linear-gradient(135deg,#001a01,#000a00);color:#fff;padding:5rem 2rem;text-align:center}.debug-promo h2{font-size:2.25rem;font-weight:800;margin-bottom:.75rem}.debug-promo>p{font-size:1.1rem;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.debug-promo-link{color:var(--primary-color);font-weight:600;text-decoration:none}.debug-promo-link:hover{color:#4ade80;text-decoration:underline}.debug-promo-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 auto;max-width:960px}.debug-promo-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 4px 24px #0006;display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.5rem;text-align:left}.debug-promo-card.free{background:#94a3b814;border-color:#94a3b840}.debug-promo-card.free .debug-promo-badge{color:#94a3b8}.debug-promo-card.featured{background:#00b5091a;border-color:#00b50980;box-shadow:0 4px 24px #00b50926,0 4px 24px #0006}.debug-promo-card.teacher{background:#fbbf2414;border-color:#fbbf2459}.debug-promo-card.teacher .debug-promo-badge{color:#fbbf24}.debug-promo-badge{color:var(--primary-color);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.debug-promo-price{align-items:baseline;display:flex;gap:.4rem}.debug-promo-amount{font-size:2rem;font-weight:800}.debug-promo-period{font-size:.8rem;opacity:.7}.debug-promo-desc{font-size:.85rem;line-height:1.5;opacity:.85}.debug-promo-features{display:flex;flex:1 1;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.debug-promo-features li{font-size:.85rem;opacity:.9;padding-left:1.25rem;position:relative}.debug-promo-features li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.debug-promo-features li.feature-highlight{color:var(--primary-color);font-weight:700;opacity:1}.debug-feature-label{color:#ffffff80;font-size:.7rem!important;font-weight:700;letter-spacing:.08em;margin-top:.3rem;opacity:1!important;text-transform:uppercase}.debug-promo-card .btn{margin-top:.5rem;text-align:center}@media (max-width:768px){.debug-hero{padding:3.5rem 1rem 2.5rem}.debug-hero-screenshot{margin-top:2rem}.debug-hero h1{font-size:2rem}.debug-hero-subtitle{font-size:1.15rem}.debug-hero p{font-size:1rem}.debug-hero-actions{align-items:stretch;flex-direction:column}.debug-hero-actions .btn{width:100%}.debug-stats-bar{padding:1.75rem 1rem}.debug-stats{gap:1.25rem}.debug-stat-num{font-size:1.75rem}.debug-stat-label{font-size:.7rem}.debug-stat-divider{display:none}.debug-how-it-works,.debug-levels,.debug-modes,.debug-play-cta,.debug-teachers{padding:3rem 1rem}.debug-section-title{font-size:1.65rem}.debug-modes-grid,.debug-steps,.debug-teacher-grid{grid-template-columns:1fr}.debug-play-actions{align-items:stretch;flex-direction:column}.debug-play-actions .btn{width:100%}.debug-promo{padding:3rem 1rem}.debug-promo h2{font-size:1.75rem}.debug-promo-cards{grid-template-columns:1fr}}@media (max-width:480px){.debug-hero h1{font-size:1.65rem}.debug-play-cta h2{font-size:1.5rem}}.vocab-ac{max-width:480px;position:relative;width:100%}.vocab-ac-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;box-sizing:border-box;color:#f5f5f5;color:var(--text-primary,#f5f5f5);font-family:inherit;font-size:1rem;outline:none;padding:.7rem .9rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.vocab-ac-input::placeholder{color:#ffffff73;color:var(--text-secondary,#ffffff73)}.vocab-ac-input:focus{border-color:#a855f799;box-shadow:0 0 0 3px #a855f726}.vocab-ac-list{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;box-shadow:0 8px 24px #00000080;left:0;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.vocab-ac-item{color:#f5f5f5;color:var(--text-primary,#f5f5f5);cursor:pointer;font-size:.95rem;padding:.55rem .9rem;-webkit-user-select:none;user-select:none}.vocab-ac-item.highlighted{background:#a855f740;color:#fff}.vocab-ac-item.vocab-ac-empty{color:#ffffff80;color:var(--text-secondary,#ffffff80);cursor:default;font-style:italic}.vocab-ac-item.vocab-ac-empty:hover{background:#0000}.vocab-ac-chip{align-items:center;background:#a855f72e;border:1px solid #a855f78c;border-radius:6px;color:#f5f5f5;color:var(--text-primary,#f5f5f5);display:inline-flex;font-size:1rem;gap:.6rem;max-width:100%;padding:.6rem .85rem}.vocab-ac-chip-text{font-weight:500;word-break:break-word}.vocab-ac-chip-clear{align-items:center;background:#0000;border:none;border-radius:4px;color:#fff9;color:var(--text-secondary,#fff9);cursor:pointer;display:inline-flex;font-size:.95rem;justify-content:center;line-height:1;padding:0 .25rem;transition:color .15s ease,background .15s ease}.vocab-ac-chip-clear:hover{background:#a855f740;color:#fff}.vocab-ac-list::-webkit-scrollbar{width:8px}.vocab-ac-list::-webkit-scrollbar-track{background:#0000}.vocab-ac-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.vocab-ac-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.rdr-page{background:linear-gradient(180deg,#0b1d3a,#0f0f23);color:#f5f5f5;display:flex;min-height:calc(100vh - 80px);padding:2rem 1rem}.rdr-btn,.rdr-page{align-items:center;justify-content:center}.rdr-btn{border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.rdr-btn:focus-visible{outline:3px solid #facc15;outline-offset:2px}.rdr-btn-primary{background:linear-gradient(180deg,#facc15,#eab308);box-shadow:0 4px 14px #facc1559;color:#1a1a2e}.rdr-btn-primary:hover{box-shadow:0 6px 20px #facc1580;transform:translateY(-1px)}.rdr-btn-ghost{background:#0000;border:1px solid #ffffff40;color:#f5f5f5}.rdr-btn-ghost:hover{background:#ffffff14;border-color:#fff6}.rdr-btn-small{font-size:.85rem;padding:.45rem .9rem}.rdr-splash{align-items:center;display:flex;flex-direction:column;gap:1.5rem;width:100%}.rdr-splash-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1a2ed9;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:560px;padding:3rem 2rem;text-align:center;width:100%}.rdr-splash-duck{animation:rdr-bob 2.5s ease-in-out infinite;height:100px;margin:0 auto 1rem;width:130px}.rdr-splash-duck .rdr-duck-svg{height:100%;width:100%}.rdr-splash-study{color:#ffffffbf;font-size:.95rem;margin-top:1.25rem}.rdr-splash-study-link{border-bottom:1px solid #facc1566;color:#facc15;font-weight:600;text-decoration:none;transition:color .15s ease,border-color .15s ease}.rdr-splash-study-link:focus-visible,.rdr-splash-study-link:hover{border-bottom-color:#fde047;color:#fde047;outline:none}.rdr-splash-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#facc15,#fb923c);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin:0 0 1rem}.rdr-splash-tagline{color:#ffffffd9;font-size:1.05rem;line-height:1.55;margin:0 0 2rem}.rdr-splash-fineprint{color:#ffffff80;font-size:.85rem;margin-top:1.5rem}.rdr-mock-cta{align-items:center;background:#a855f71f;border:1px solid #a855f766;border-radius:12px;color:#f5f5f5;display:flex;font-size:.95rem;gap:.85rem;line-height:1.45;max-width:560px;padding:.9rem 1.1rem;text-align:left;width:100%}.rdr-mock-cta-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.rdr-mock-cta-text{flex:1 1}.rdr-mock-cta-link{border-bottom:1px solid #d8b4fe80;color:#d8b4fe;font-weight:600;text-decoration:none;transition:color .15s ease,border-color .15s ease}.rdr-mock-cta-link:focus-visible,.rdr-mock-cta-link:hover{border-bottom-color:#f3e8ff;color:#f3e8ff;outline:none}.rdr-progress{background:#1a1a2ed9;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 12px 32px #00000059;margin:1.5rem auto 0;max-width:560px;padding:1.5rem 1.5rem 1.75rem;text-align:center;width:100%}.rdr-progress-title{color:#facc15;font-size:1.1rem;font-weight:700;letter-spacing:.08em;margin:0 0 1rem;text-transform:uppercase}.rdr-progress-tiles{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.rdr-progress-tile{background:#0f0f238c;border:1px solid #ffffff14;border-radius:10px;padding:.85rem .4rem .95rem}.rdr-progress-tile-value{color:#facc15;font-size:1.55rem;font-weight:700;line-height:1.1}.rdr-progress-tile-denom{color:#ffffff8c;font-size:.85rem;font-weight:500}.rdr-progress-tile-label{color:#fff9;font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-top:.25rem;text-transform:uppercase}.rdr-progress-subtitle{color:#ffffffa6;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 .6rem;text-transform:uppercase}.rdr-progress-medals{display:flex;flex-direction:column;gap:.4rem}.rdr-progress-medal-row{grid-gap:.5rem;align-items:center;background:#0f0f238c;border:1px solid #ffffff0f;border-radius:8px;display:grid;font-size:.95rem;gap:.5rem;grid-template-columns:90px repeat(3,1fr);padding:.55rem .85rem}.rdr-progress-easy{border-left:3px solid #22c55e}.rdr-progress-medium{border-left:3px solid #facc15}.rdr-progress-hard{border-left:3px solid #ef4444}.rdr-progress-medal-level{color:#ffffffd9;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}.rdr-progress-medal-count{align-items:center;color:#ffffffd9;display:inline-flex;font-weight:600;gap:.3rem;justify-content:center}@media (max-width:520px){.rdr-progress{padding:1.25rem 1rem}.rdr-progress-tile-value{font-size:1.3rem}.rdr-progress-medal-row{font-size:.85rem;grid-template-columns:70px repeat(3,1fr);padding:.5rem .6rem}}.rdr-select{max-width:1000px;text-align:center;width:100%}.rdr-select h1{color:#f5f5f5;font-size:2rem;margin:0 0 2rem}.rdr-level-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2rem}.rdr-level-card{background:#1a1a2ed9;border:2px solid #ffffff1a;border-radius:14px;color:#f5f5f5;cursor:pointer;font-family:inherit;padding:1.75rem 1.25rem;text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.rdr-level-card:focus-visible,.rdr-level-card:hover{outline:none;transform:translateY(-3px)}.rdr-level-easy:focus-visible,.rdr-level-easy:hover{border-color:#22c55e;box-shadow:0 8px 24px #22c55e4d}.rdr-level-medium:focus-visible,.rdr-level-medium:hover{border-color:#facc15;box-shadow:0 8px 24px #facc154d}.rdr-level-hard:focus-visible,.rdr-level-hard:hover{border-color:#ef4444;box-shadow:0 8px 24px #ef44444d}.rdr-level-label{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.rdr-level-easy .rdr-level-label{color:#22c55e}.rdr-level-medium .rdr-level-label{color:#facc15}.rdr-level-hard .rdr-level-label{color:#ef4444}.rdr-level-blurb{color:#ffffffbf;font-size:.95rem;line-height:1.45;margin-bottom:1rem}.rdr-level-stat{color:#ffffff80;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.rdr-race{display:flex;flex-direction:column;gap:1.5rem;max-width:1100px;width:100%}.rdr-race-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.rdr-race-meta{display:flex;flex-direction:column;gap:.2rem}.rdr-race-level{color:#facc15;font-size:1.25rem;font-weight:700}.rdr-race-progress{color:#ffffffb3;font-size:.95rem}.rdr-river{border-radius:14px;box-shadow:0 8px 24px #0006;height:320px;overflow:visible;position:relative}.rdr-river-water{background:linear-gradient(180deg,#2c5282,#2b6cb0 30%,#2c7a9c 60%,#1e6091);border:2px solid #ffffff1f;border-radius:14px;inset:0;overflow:hidden;position:absolute}.rdr-wave{height:100%;left:-50%;pointer-events:none;position:absolute;width:200%}.rdr-wave-1{animation:rdr-wave-flow 9s linear infinite;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 200 24%27 preserveAspectRatio=%27none%27><path d=%27M0 12 Q25 4 50 12 T100 12 T150 12 T200 12%27 stroke=%27rgba%28255,255,255,0.18%29%27 stroke-width=%271.2%27 fill=%27none%27/></svg>");background-size:200px 24px;opacity:.7}.rdr-wave-1,.rdr-wave-2{background-repeat:repeat}.rdr-wave-2{animation:rdr-wave-flow 14s linear infinite;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 240 32%27 preserveAspectRatio=%27none%27><path d=%27M0 18 Q30 6 60 18 T120 18 T180 18 T240 18%27 stroke=%27rgba%28255,255,255,0.1%29%27 stroke-width=%271%27 fill=%27none%27/></svg>");background-position:0 12px;background-size:240px 36px;opacity:.55}.rdr-wave-3{animation:rdr-wave-flow 22s linear infinite;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 320 40%27 preserveAspectRatio=%27none%27><path d=%27M0 22 Q40 10 80 22 T160 22 T240 22 T320 22%27 stroke=%27rgba%28255,255,255,0.06%29%27 stroke-width=%272%27 fill=%27none%27/></svg>");background-position:0 -10px;background-repeat:repeat;background-size:320px 48px;opacity:.7}.rdr-river-shimmer{animation:rdr-wave-flow 7s linear infinite;background-image:radial-gradient(circle at 12% 30%,#ffffff80 0,#fff0 1.5px),radial-gradient(circle at 38% 60%,#fff6 0,#fff0 1.2px),radial-gradient(circle at 65% 25%,#fff6 0,#fff0 1.5px),radial-gradient(circle at 82% 70%,#ffffff80 0,#fff0 1.2px),radial-gradient(circle at 50% 85%,#ffffff4d 0,#fff0 1.5px);background-size:220px 100%;inset:0;mix-blend-mode:screen;opacity:.8;position:absolute}.rdr-finish-line{align-items:flex-start;background:repeating-conic-gradient(#f5f5f5 0 25%,#1a1a2e 0 50%) 0 0 /18px 18px;border-left:2px solid #fff6;bottom:0;display:flex;justify-content:center;padding-top:8px;position:absolute;right:0;top:0;width:36px;z-index:2}.rdr-finish-line-appearing{animation:rdr-finish-slide-in .45s cubic-bezier(.32,0,.32,1)}@keyframes rdr-finish-slide-in{0%{opacity:0;transform:translateX(140%)}to{opacity:1;transform:translateX(0)}}.rdr-finish-line span{background:#1a1a2e;border:1px solid #facc1580;border-radius:4px;color:#facc15;font-size:.75rem;font-weight:700;letter-spacing:.1em;padding:.25rem .6rem;position:absolute;right:-8px;top:-28px}.rdr-lane{align-items:center;display:flex;height:50px;left:0;position:absolute;right:0}.rdr-lane-label{background:#0f0f23b3;border-radius:4px;font-size:.75rem;font-weight:700;left:8px;letter-spacing:.05em;padding:.15rem .4rem;position:absolute;text-transform:uppercase;top:-4px;z-index:1}.rdr-duck{animation:rdr-float 4.2s ease-in-out infinite;height:46px;position:absolute;transition:left 90ms linear;width:60px;z-index:5}.rdr-duck-svg{display:block;height:100%;width:100%}.rdr-duck-splash{animation:rdr-splash .7s ease-out forwards;background:radial-gradient(circle,#ffffff8c 0,#fff0 65%);border-radius:50%;inset:-10px -14px -10px -14px;pointer-events:none;position:absolute;z-index:-1}.rdr-duck-boost{animation:rdr-boost 1.6s cubic-bezier(.22,1,.36,1);transition:left 2.6s cubic-bezier(.22,1,.36,1)}.rdr-countdown{align-items:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0f0f2366;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:10}.rdr-countdown-number{animation:rdr-countdown-flash .85s cubic-bezier(.22,1,.36,1);color:#facc15;font-size:8rem;font-weight:900;letter-spacing:.04em;text-shadow:0 0 24px #facc15b3,0 4px 12px #0009}@keyframes rdr-countdown-flash{0%{opacity:0;transform:scale(1.6)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.65)}}.rdr-question-card{background:#1a1a2ed9;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.rdr-q-label{color:#ffffff8c;font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.rdr-q-placeholder{align-items:center;color:#ffffff8c;display:flex;font-size:1.15rem;font-weight:500;justify-content:center;letter-spacing:.02em;min-height:120px}.rdr-q-definition{color:#f5f5f5;font-size:1.2rem;line-height:1.5;margin-bottom:1.25rem}.rdr-q-input{margin-bottom:.5rem}.rdr-feedback{border-radius:8px;font-size:1rem;font-weight:600;margin-top:1rem;padding:.7rem 1rem}.rdr-feedback-correct{background:#22c55e26;border:1px solid #22c55e80;color:#4ade80}.rdr-feedback-wrong{background:#ef444426;border:1px solid #ef444480;color:#fca5a5}.rdr-results{display:flex;justify-content:center;width:100%}.rdr-results-card{background:#1a1a2ee6;border:1px solid #ffffff1a;border-radius:16px;max-width:640px;padding:2.5rem 2rem;text-align:center;width:100%}.rdr-results-title{color:#facc15;font-size:2rem;margin:0 0 .25rem}.rdr-results-sub{color:#ffffffa6;font-size:.95rem;letter-spacing:.04em;margin:0 0 2rem;text-transform:uppercase}.rdr-podium{grid-gap:.75rem;align-items:end;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem;padding:0 .5rem}.rdr-podium-spot{align-items:center;display:flex;flex-direction:column;position:relative}.rdr-podium-perch{height:60px;margin-bottom:-2px;position:relative;width:80px;z-index:2}.rdr-podium-duck,.rdr-podium-duck .rdr-duck-svg{height:100%;width:100%}.rdr-podium-medal{bottom:-3px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));font-size:1.87rem;left:58%;line-height:1;position:absolute;transform:translateX(-50%);z-index:3}.rdr-podium-block{background:linear-gradient(180deg,#ffffff0f,#ffffff05);border-left:1px solid #ffffff14;border-radius:8px 8px 0 0;border-right:1px solid #ffffff14;border-top:3px solid;min-height:92px;padding:.7rem .4rem .9rem;width:100%}.rdr-podium-gold .rdr-podium-block{background:linear-gradient(180deg,#facc152e,#facc150a);border-top-color:#facc15;padding-top:2.6rem}.rdr-podium-silver .rdr-podium-block{background:linear-gradient(180deg,#cbd5e12e,#cbd5e10a);border-top-color:#cbd5e1;padding-top:1.4rem}.rdr-podium-bronze .rdr-podium-block{background:linear-gradient(180deg,#d977062e,#d977060a);border-top-color:#d97706;padding-top:.7rem}.rdr-podium-place{color:#ffffff8c;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.rdr-podium-name,.rdr-podium-place{font-weight:700;margin-bottom:.2rem}.rdr-podium-name{font-size:1rem}.rdr-podium-count{color:#ffffffb3;font-size:.85rem}.rdr-stats{grid-gap:.75rem;background:#0f0f2399;border:1px solid #ffffff14;border-radius:10px;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem;padding:1rem .75rem}.rdr-stat-label{color:#ffffff8c;font-size:.7rem;font-weight:600;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.rdr-stat-value{color:#facc15;font-size:1.6rem;font-weight:700}.rdr-missed{background:#0f0f2399;border:1px solid #ffffff14;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.1rem 1.1rem;text-align:left}.rdr-missed-title{color:#facc15;font-size:.95rem;font-weight:700;letter-spacing:.05em;margin:0 0 .75rem;text-align:center;text-transform:uppercase}.rdr-missed-list{list-style:none;margin:0 0 .85rem;max-height:220px;overflow-y:auto;padding:0}.rdr-missed-item{border-bottom:1px solid #ffffff0f;display:flex;flex-direction:column;gap:.15rem;padding:.55rem .2rem}.rdr-missed-item:last-child{border-bottom:none}.rdr-missed-term{color:#fde047;font-size:.95rem;font-weight:700}.rdr-missed-def{color:#ffffffc7;font-size:.88rem;line-height:1.4}.rdr-missed-link{border-bottom:1px solid #facc1566;color:#facc15;display:inline-block;font-size:.85rem;font-weight:600;margin-top:.25rem;text-decoration:none;transition:color .15s ease,border-color .15s ease}.rdr-missed-link:focus-visible,.rdr-missed-link:hover{border-bottom-color:#fde047;color:#fde047;outline:none}.rdr-missed-list::-webkit-scrollbar{width:6px}.rdr-missed-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.rdr-missed-list::-webkit-scrollbar-thumb:hover{background:#ffffff47}.rdr-results-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media (max-width:520px){.rdr-podium-perch{height:50px;width:64px}.rdr-podium-medal{font-size:1.54rem}.rdr-podium-block{min-height:84px}.rdr-podium-gold .rdr-podium-block{padding-top:2rem}.rdr-podium-silver .rdr-podium-block{padding-top:1.1rem}.rdr-podium-bronze .rdr-podium-block{padding-top:.6rem}.rdr-stat-value{font-size:1.3rem}}@keyframes rdr-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes rdr-float{0%{transform:translate(-3px) rotate(-1.5deg)}25%{transform:translate(2px,-3px) rotate(0deg)}50%{transform:translate(6px) rotate(1.5deg)}75%{transform:translate(2px,-3px) rotate(0deg)}to{transform:translate(-3px) rotate(-1.5deg)}}@keyframes rdr-boost{0%{transform:scale(1) translateY(0)}40%{transform:scale(1.06) translateY(-2px)}to{transform:scale(1) translateY(0)}}@keyframes rdr-splash{0%{opacity:.9;transform:scale(.4)}60%{opacity:.5}to{opacity:0;transform:scale(1.6)}}@keyframes rdr-wave-flow{0%{background-position-x:0}to{background-position-x:-200px}}@media (prefers-reduced-motion:reduce){.rdr-countdown-number,.rdr-duck,.rdr-duck-boost,.rdr-river-shimmer,.rdr-splash-duck,.rdr-wave{animation:none}.rdr-duck{transition:left .2s ease}.rdr-duck-splash{display:none}}@media (max-width:640px){.rdr-splash-card{padding:2rem 1.25rem}.rdr-splash-card h1{font-size:2rem}.rdr-splash-duck{height:84px;width:110px}.rdr-river{height:260px}.rdr-duck{height:38px;width:48px}.rdr-q-definition{font-size:1rem}.rdr-race-header{align-items:flex-start;flex-direction:column}}.rdr-splash-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.rdr-btn-alt{background:linear-gradient(180deg,#38bdf8,#0284c7);box-shadow:0 4px 14px #38bdf859;color:#0f172a}.rdr-btn-alt:hover{box-shadow:0 6px 20px #38bdf880}.rdr-mp-menu-actions{gap:.6rem;margin:1.5rem 0 .5rem}.rdr-mp-form,.rdr-mp-menu-actions{display:flex;flex-direction:column}.rdr-mp-form{align-items:stretch;gap:.85rem;margin-top:1rem;text-align:left}.rdr-mp-label{color:#e5e7eb;font-size:.9rem;font-weight:600}.rdr-mp-input{background:#00000059;border:1px solid #ffffff2e;border-radius:8px;color:#f5f5f5;font-family:inherit;font-size:1rem;padding:.7rem .9rem}.rdr-mp-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf840;outline:none}.rdr-mp-code-input{font-feature-settings:"tnum";font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.4em;text-align:center}.rdr-mp-error{background:#dc262626;border:1px solid #dc262673;border-radius:6px;color:#fecaca;font-size:.92rem;padding:.55rem .8rem}.rdr-mp-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.rdr-mp-lobby{text-align:left}.rdr-mp-lobby h1{text-align:center}.rdr-mp-code-display{align-items:center;background:#38bdf814;border:1px solid #38bdf84d;border-radius:12px;display:flex;gap:.75rem;justify-content:center;margin:1rem 0 1.4rem;padding:.85rem 1rem}.rdr-mp-code-label{color:#94a3b8;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.rdr-mp-code-value{font-feature-settings:"tnum";color:#e0f2fe;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.25em}.rdr-mp-section-title{color:#f5f5f5;font-size:1.05rem;margin:1.2rem 0 .6rem}.rdr-mp-slots{color:#94a3b8;font-size:.9rem;font-weight:400}.rdr-mp-player-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.rdr-mp-player-row{align-items:center;background:#0000004d;border:1px solid #ffffff14;border-radius:8px;display:flex;gap:.5rem;padding:.55rem .8rem}.rdr-mp-player-empty{font-style:italic;opacity:.45}.rdr-mp-player-name{color:#f5f5f5;flex:1 1;font-weight:600}.rdr-mp-badge{background:#facc152e;border:1px solid #facc1566;border-radius:999px;color:#fde68a;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.rdr-mp-badge-you{background:#38bdf82e;border-color:#38bdf866;color:#bae6fd}.rdr-mp-host-controls{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;margin-top:1.2rem}.rdr-mp-host-controls .rdr-btn-primary{margin-top:.75rem}.rdr-mp-range{accent-color:#38bdf8;width:100%}.rdr-mp-range-ticks{color:#94a3b8;display:flex;font-size:.78rem;justify-content:space-between;margin-top:-.25rem}.rdr-mp-waiting{color:#cbd5e1;margin-top:1.2rem;text-align:center}.rdr-mp-fineprint{color:#94a3b8;font-size:.85rem}.rdr-mp-also-ran{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:1rem 0 .5rem;padding:0}.rdr-mp-also-ran li{grid-gap:.6rem;background:#00000040;border-radius:6px;display:grid;font-size:.95rem;gap:.6rem;grid-template-columns:3rem 1fr auto;padding:.4rem .6rem}.rdr-duck-forfeited .rdr-duck-svg{filter:grayscale(.85) brightness(.7) drop-shadow(0 2px 3px rgba(0,0,0,.4));opacity:.55}.rdr-lane-forfeited .rdr-lane-label{opacity:.6;text-decoration:line-through}.rdr-gallery{margin:0 auto;max-width:1100px;width:100%}.rdr-gallery-header{margin-bottom:2.5rem;text-align:center}.rdr-gallery-back{border-bottom:1px solid #0000;color:#ffffffb3;display:inline-block;font-size:.9rem;margin-bottom:1.25rem;text-decoration:none;transition:color .15s ease,border-color .15s ease}.rdr-gallery-back:focus-visible,.rdr-gallery-back:hover{border-bottom-color:#facc1566;color:#facc15;outline:none}.rdr-gallery-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#facc15,#fb923c);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;margin:0 0 .75rem}.rdr-gallery-tagline{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0 auto;max-width:540px}.rdr-gallery-group{margin-bottom:2.5rem}.rdr-gallery-group-title{color:#fde68a;font-size:1.35rem;margin:0 0 .25rem}.rdr-gallery-group-blurb{color:#fff9;font-size:.9rem;margin:0 0 1.25rem}.rdr-duck-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.rdr-duck-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a1a2ed9;border:1px solid #ffffff1a;border-radius:14px;padding:1.25rem 1rem 1rem;text-align:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.rdr-duck-card:hover{border-color:#facc1559;box-shadow:0 12px 30px #0006;transform:translateY(-2px)}.rdr-duck-card-frame{align-items:center;background:linear-gradient(180deg,#0f172a80,#1e407c59);border-radius:10px;display:flex;height:110px;justify-content:center;margin-bottom:.75rem;overflow:visible;padding:.75rem;width:100%}.rdr-duck-card-frame .rdr-duck-svg{height:90px;overflow:visible;width:130px}.rdr-duck-card-name{color:#f5f5f5;font-size:1rem;font-weight:600;margin:0 0 .35rem}.rdr-duck-card-blurb{color:#ffffffa6;font-size:.82rem;line-height:1.4;margin:0 0 .65rem;min-height:2.6em}.rdr-duck-card-unlock{color:#fde68a;font-size:.75rem;font-weight:500;letter-spacing:.02em;margin:0}.rdr-splash-gallery-link{border-bottom:1px solid #fff3;color:#ffffffb3;display:inline-block;font-size:.85rem;margin-top:1rem;text-decoration:none;transition:color .15s ease,border-color .15s ease}.rdr-splash-gallery-link:focus-visible,.rdr-splash-gallery-link:hover{border-bottom-color:#facc1580;color:#facc15;outline:none}.rdr-splash-duck-button{align-items:center;background:#0000;border:0;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;margin:0 auto .75rem;padding:0;transition:transform .15s ease,background .15s ease}.rdr-splash-duck-button:focus-visible,.rdr-splash-duck-button:hover{background:#facc1514;outline:none;transform:translateY(-2px)}.rdr-splash-duck-button:focus-visible{box-shadow:0 0 0 3px #facc1580}.rdr-splash-duck-button .rdr-splash-duck{margin:0}.rdr-splash-duck-caption{color:#fff9;font-size:.78rem;letter-spacing:.04em;margin-top:.4rem;text-transform:uppercase}.rdr-splash-duck-button:focus-visible .rdr-splash-duck-caption,.rdr-splash-duck-button:hover .rdr-splash-duck-caption{color:#facc15}.rdr-modal-overlay{align-items:center;animation:rdr-modal-fade .18s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes rdr-modal-fade{0%{opacity:0}to{opacity:1}}.rdr-modal-panel{animation:rdr-modal-pop .22s cubic-bezier(.34,1.4,.64,1);background:linear-gradient(180deg,#1a1a2e,#0f0f23);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 24px 60px #0009;max-height:90vh;max-width:1000px;overflow-y:auto;padding:1.5rem;width:100%}@keyframes rdr-modal-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.rdr-modal-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.rdr-modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#facc15,#fb923c);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;margin:0 0 .4rem}.rdr-modal-sub{color:#ffffffa6;font-size:.9rem;margin:0}.rdr-modal-sub strong{color:#facc15}.rdr-modal-close{align-items:center;background:#0000;border:1px solid #fff3;border-radius:50%;color:#ffffffd9;cursor:pointer;display:flex;flex-shrink:0;font-size:1.4rem;height:2.2rem;justify-content:center;line-height:1;transition:background .15s ease,border-color .15s ease;width:2.2rem}.rdr-modal-close:focus-visible,.rdr-modal-close:hover{background:#ffffff1a;border-color:#fff6;outline:none}.rdr-modal-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.rdr-modal-card{background:#0f0f2399;border:1px solid #ffffff14;border-radius:12px;color:inherit;cursor:pointer;font-family:inherit;padding:.65rem .5rem .55rem;text-align:center;transition:transform .12s ease,border-color .12s ease,background .12s ease}.rdr-modal-card:focus-visible:not(:disabled),.rdr-modal-card:hover:not(:disabled){background:#1a1a2ed9;border-color:#facc1580;outline:none;transform:translateY(-2px)}.rdr-modal-card-selected{background:#facc151a;border-color:#facc15;box-shadow:inset 0 0 0 1px #facc15}.rdr-modal-card-locked{cursor:not-allowed;opacity:.85}.rdr-modal-card-locked:focus-visible,.rdr-modal-card-locked:hover{background:#0f0f2399;border-color:#ffffff14;transform:none}.rdr-modal-card-frame{align-items:center;display:flex;height:80px;justify-content:center;margin-bottom:.4rem;overflow:visible;width:100%}.rdr-modal-card-frame .rdr-duck-svg{height:70px;overflow:visible;width:110px}.rdr-modal-card-name{color:#f5f5f5;font-size:.85rem;font-weight:600;margin-bottom:.15rem}.rdr-modal-card-locked .rdr-modal-card-name{color:#ffffff8c}.rdr-modal-card-meta{color:#ffffff8c;font-size:.7rem;letter-spacing:.02em}.rdr-modal-card-selected .rdr-modal-card-meta{color:#facc15;font-weight:600}.rdr-modal-card-locked .rdr-modal-card-meta{color:#fcd34da6}.csprep-page{--csprep-accent:#0ea5e9;--csprep-accent-hover:#0284c7;--csprep-accent-light:#0ea5e91f;--csprep-accent-glow:#0ea5e926;min-height:calc(100vh - 80px)}.csprep-hero{background:linear-gradient(135deg,#0c4a6e,#042f4a 60%,#001a01);color:#fff;padding:5rem 2rem;text-align:center}.csprep-hero-content{margin:0 auto;max-width:780px}.csprep-hero-label{background:var(--csprep-accent-light);border:1px solid #0ea5e94d;border-radius:20px;color:#7dd3fc;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.csprep-brand-green{color:var(--primary-color)}.csprep-hero h1{font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.csprep-hero-subtitle{display:block;font-size:1.25rem;font-weight:600;margin-top:.5rem;opacity:.85}.csprep-hero p{font-size:1.15rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.csprep-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.csprep-hero-actions .btn{min-width:200px}.csprep-hero-actions .btn-primary{background-color:var(--primary-color);color:#fff}.csprep-hero-actions .btn-primary:hover{background-color:#009a07;color:#fff}.csprep-hero-actions .btn-outline{border-color:#ffffff80;color:#fff}.csprep-hero-actions .btn-outline:hover{background:#ffffff1a}.csprep-hero-sub{font-size:.85rem;margin-top:1.25rem;opacity:.8}.csprep-hero-sub a{color:#7dd3fc;font-weight:600;text-decoration:none}.csprep-hero-sub a:hover{text-decoration:underline}.csprep-stats-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);padding:2rem 1rem}.csprep-stats{flex-wrap:wrap;gap:2.5rem;justify-content:center;margin:0 auto;max-width:800px}.csprep-stat,.csprep-stats{align-items:center;display:flex}.csprep-stat{flex-direction:column;text-align:center}.csprep-stat-num{color:var(--csprep-accent);font-size:2rem;font-weight:800}.csprep-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;margin-top:.15rem;text-transform:uppercase}.csprep-stat-divider{background:var(--border-color);height:40px;width:1px}.csprep-section-title{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.75rem;text-align:center}.csprep-section-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:700px;text-align:center}.csprep-divider{border:none;border-top:1px solid var(--border-color);margin:0}.csprep-audience{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-audience-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.csprep-audience-card{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:border-color .2s,transform .2s}.csprep-audience-card:hover{border-color:var(--csprep-accent);transform:translateY(-2px)}.csprep-audience-icon{flex-shrink:0;font-size:2rem;line-height:1}.csprep-audience-info h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.4rem}.csprep-audience-info p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.csprep-certs{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-certs-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.csprep-cert-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s}.csprep-cert-card:hover{border-color:var(--csprep-accent);transform:translateY(-2px)}.csprep-cert-card h3{color:var(--csprep-accent);font-size:1.15rem;font-weight:700;margin-bottom:.25rem}.csprep-cert-org{color:var(--text-secondary);font-size:.7rem;letter-spacing:.05em;opacity:.7;text-transform:uppercase}.csprep-cert-card p{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin-top:.5rem}.csprep-included{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-included-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.csprep-included-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.75rem 1.5rem;transition:all .2s}.csprep-included-card:hover{border-color:var(--csprep-accent);transform:translateY(-2px)}.csprep-included-card h3{color:var(--text-primary);font-size:1rem;margin-bottom:.5rem}.csprep-included-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.csprep-content{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-toc{display:flex;flex-direction:column;gap:.5rem}.csprep-toc-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:inherit;display:flex;font-family:inherit;gap:1rem;padding:.85rem 1.25rem;text-align:left;text-decoration:none;transition:border-color .2s,background .2s}.csprep-toc-item:hover{border-color:var(--csprep-accent);text-decoration:none}.csprep-toc-item:hover .csprep-toc-title{font-weight:700;text-decoration:underline}.csprep-toc-item.core{border-left:3px solid var(--csprep-accent)}.csprep-toc-item.data{border-left:3px solid #3b82f6}.csprep-toc-item.programming{border-left:3px solid #f59e0b}.csprep-toc-item.other{border-left:3px solid #8b5cf6}.csprep-toc-num{align-items:center;background:var(--csprep-accent-light);border-radius:50%;color:var(--csprep-accent);display:flex;font-size:.7rem;font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.csprep-toc-title{color:var(--text-primary);flex:1 1;font-size:.9rem;font-weight:600}.csprep-toc-arrow{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;transition:transform .2s,color .2s}.csprep-toc-item:hover .csprep-toc-arrow{color:var(--csprep-accent);transform:translateX(3px)}.csprep-compare{margin:0 auto;max-width:700px;padding:4rem 2rem}.csprep-compare-table{border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.csprep-compare-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1.25rem}.csprep-compare-row:last-child{border-bottom:none}.csprep-compare-row.header{background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.csprep-compare-row.highlight{background:var(--csprep-accent-light);border-top:2px solid var(--csprep-accent)}.csprep-compare-name{flex:1 1}.csprep-compare-name,.csprep-compare-price{color:var(--text-secondary);font-size:.85rem}.csprep-compare-price{flex-shrink:0;font-weight:600;text-align:right}.highlight-price{color:var(--csprep-accent)!important;font-size:1rem!important;font-weight:800!important}.csprep-curriculum{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-curriculum-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:12px;display:flex;gap:2rem;padding:2rem}.csprep-curriculum-info{flex:1 1}.csprep-curriculum-info h3{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.csprep-curriculum-info>p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 1rem}.csprep-curriculum-highlights{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1.25rem}.csprep-curriculum-highlights span{white-space:nowrap}.csprep-curriculum-card .btn{flex-shrink:0;white-space:nowrap}.csprep-author{margin:0 auto;max-width:960px;padding:4rem 2rem}.csprep-author-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.csprep-author-info h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.75rem}.csprep-author-info p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin-bottom:.75rem}.csprep-author-info p:last-child{margin-bottom:0}.csprep-promo{background:linear-gradient(135deg,#001a01,#000a00);color:#fff;padding:4rem 2rem;text-align:center}.csprep-promo h2{color:#fff;font-size:2rem;font-weight:800;margin-bottom:.75rem}.csprep-promo>p{color:#ffffffd9;font-size:1rem;line-height:1.6;margin:0 auto 2.5rem;max-width:600px}.csprep-promo-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:960px;text-align:left}.csprep-promo-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;box-shadow:0 4px 24px #0006;display:flex;flex-direction:column;gap:1rem;padding:2rem 1.5rem;position:relative;transition:border-color .2s}.csprep-promo-card:hover{border-color:#0ea5e966}.csprep-promo-card.featured{border-color:var(--csprep-accent);box-shadow:0 0 30px var(--csprep-accent-glow),0 4px 24px #0006}.csprep-promo-card.student{background:#3b82f614;border-color:#3b82f666}.csprep-promo-card.student:hover{border-color:#3b82f699}.csprep-promo-badge{align-self:flex-start;border-radius:20px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.1em;padding:.3rem .7rem;text-transform:uppercase}.csprep-promo-card.free .csprep-promo-badge{background:#00b5091a;color:var(--primary-color)}.csprep-promo-card.student .csprep-promo-badge{background:#3b82f61a;color:#60a5fa}.csprep-promo-card.featured .csprep-promo-badge{background:var(--csprep-accent-light);color:var(--csprep-accent)}.csprep-promo-price{align-items:baseline;display:flex;gap:.35rem}.csprep-promo-amount{color:var(--text-primary);font-size:2.5rem;font-weight:800}.csprep-promo-period{font-size:.8rem;opacity:.7}.csprep-promo-desc{font-size:.85rem;line-height:1.5;opacity:.85}.csprep-promo-features{display:flex;flex:1 1;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.csprep-promo-features li{font-size:.85rem;opacity:.9;padding-left:1.25rem;position:relative}.csprep-promo-features li.feature-highlight{color:var(--primary-color);font-weight:700;opacity:1}.csprep-promo-features li:before{color:var(--primary-color);content:"✓";font-weight:700;left:0;position:absolute}.csprep-promo-contact{border-top:1px solid #ffffff14;color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin-top:1rem;padding-top:.75rem}.csprep-promo-contact a{color:#00b509;font-weight:600;text-decoration:none}.csprep-promo-contact a:hover{text-decoration:underline}.csprep-feature-label{color:var(--text-primary)!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.05em;margin-top:.5rem;opacity:1!important;padding-left:0!important;text-transform:uppercase}.csprep-feature-label:before{display:none!important}.csprep-promo-card .btn{margin-top:.5rem;text-align:center}@media (max-width:768px){.csprep-hero{padding:3.5rem 1rem}.csprep-hero h1{font-size:2rem}.csprep-hero p,.csprep-hero-subtitle{font-size:1rem}.csprep-hero-actions{align-items:stretch;flex-direction:column}.csprep-hero-actions .btn{width:100%}.csprep-stats-bar{padding:1.75rem 1rem}.csprep-stats{gap:1.25rem}.csprep-stat-num{font-size:1.75rem}.csprep-stat-label{font-size:.7rem}.csprep-stat-divider{display:none}.csprep-audience,.csprep-author,.csprep-certs,.csprep-compare,.csprep-content,.csprep-curriculum,.csprep-included{padding:3rem 1rem}.csprep-curriculum-card{align-items:stretch;flex-direction:column;text-align:center}.csprep-curriculum-highlights{justify-content:center}.csprep-section-title{font-size:1.65rem}.csprep-audience-grid{grid-template-columns:1fr}.csprep-certs-grid{grid-template-columns:repeat(2,1fr)}.csprep-included-grid{grid-template-columns:1fr}.csprep-promo{padding:3rem 1rem}.csprep-promo h2{font-size:1.75rem}.csprep-promo-cards{grid-template-columns:1fr}.csprep-compare-row{align-items:flex-start;flex-direction:column;gap:.25rem}.csprep-compare-price{text-align:left}}@media (max-width:480px){.csprep-hero h1{font-size:1.65rem}.csprep-certs-grid{grid-template-columns:1fr}}.csprep-class-cta{background:#0ea5e90a;border-top:1px solid #0ea5e91f;margin-top:1rem;padding:3rem 2rem;text-align:center}.csprep-class-cta h2{color:var(--text-primary);font-size:1.75rem;font-weight:800;margin-bottom:1rem}.csprep-class-cta p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 1.5rem;max-width:650px}.csprep-class-cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tp-page{color:var(--text-primary)}.tp-page .tp-final-cta,.tp-page .tp-inline-cta,.tp-page .tp-section{margin-left:auto;margin-right:auto;max-width:1200px}.tp-hero{background:linear-gradient(135deg,#0c4a6e,#042f4a 60%,#001a2e);border-bottom:1px solid #0ea5e926;padding:5rem 2rem 4rem;text-align:center}.tp-hero-content{margin:0 auto;max-width:750px}.tp-hero-label{background:#0ea5e91f;border:1px solid #0ea5e940;border-radius:20px;color:#7dd3fc;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.5rem;padding:.3rem .85rem;text-transform:uppercase}.tp-hero h1{color:var(--text-primary);font-size:2.75rem;font-weight:800;line-height:1.15;margin-bottom:1.25rem}.tp-brand-green{color:#00b509}.tp-btn-purple{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:1px solid #a78bfa80;box-shadow:0 2px 8px #7c3aed59;color:#fff;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.tp-btn-purple:hover{box-shadow:0 4px 14px #7c3aed73;color:#fff;filter:brightness(1.08);transform:translateY(-1px)}.tp-hero-desc{color:var(--text-secondary);font-size:1.125rem;line-height:1.65;margin-bottom:2rem}.tp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tp-stats-bar{border-bottom:1px solid var(--border-color);padding:2rem}.tp-stats{flex-wrap:wrap;gap:2.5rem;justify-content:center;margin:0 auto;max-width:900px}.tp-stat,.tp-stats{align-items:center;display:flex}.tp-stat{flex-direction:column;gap:.25rem}.tp-stat-num{color:#0ea5e9;font-size:2rem;font-weight:800;line-height:1}.tp-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tp-stat-divider{background:var(--border-color);height:36px;width:1px}.tp-section{padding:4rem 2rem}.tp-section-title{color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:.75rem;text-align:center}.tp-section-sub{line-height:1.6;margin:0 auto 2.5rem;max-width:700px}.tp-section-sub,.tp-subsection-title{color:var(--text-secondary);font-size:1rem;text-align:center}.tp-subsection-title{font-weight:700;letter-spacing:.04em;margin-bottom:1.25rem;text-transform:uppercase}.tp-card-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.tp-card-grid-sm{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tp-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:1.75rem 1.5rem;transition:border-color .2s,transform .2s}.tp-card:hover{border-color:#0ea5e94d;transform:translateY(-2px)}.tp-card-compact{padding:1.25rem}.tp-card-icon{display:block;font-size:1.75rem;margin-bottom:.75rem}.tp-card h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.tp-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0}.tp-card-link{color:#0ea5e9;display:inline-block;font-size:.88rem;font-weight:600;margin-top:.75rem;text-decoration:none}.tp-card-link:hover{color:#7dd3fc;text-decoration:underline}.tp-inline-cta{align-items:center;background:#0ea5e90a;border-bottom:1px solid #0ea5e91a;border-top:1px solid #0ea5e91a;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:1.5rem 2rem}.tp-inline-cta p{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}.tp-course-header{margin-bottom:.5rem;text-align:center}.tp-course-badge{border-radius:20px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem;padding:.3rem .85rem;text-transform:uppercase}.tp-badge-purple{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.tp-badge-green{background:#00b5091f;border:1px solid #0ea5e940;color:#0ea5e9}.tp-unit-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.tp-unit-pill{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;display:flex;font-size:.88rem;gap:.6rem;padding:.6rem 1rem}.tp-unit-num{color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tp-unit-name{color:var(--text-primary);font-weight:500}.tp-course-highlights{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tp-highlight{background:#ffffff05;border-left:3px solid #0ea5e9;border-radius:0 8px 8px 0;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem}.tp-highlight strong{color:var(--text-primary);font-size:.92rem}.tp-highlight span{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.tp-tier-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.tp-tier{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;display:flex;flex-direction:column;padding:1.75rem 1.75rem 1.5rem;position:relative;transition:border-color .2s,transform .2s}.tp-tier:hover{transform:translateY(-2px)}.tp-tier--free{background:linear-gradient(180deg,#00b5090f,#ffffff08);border-color:#00b50959}.tp-tier--free:hover{border-color:#00b5098c}.tp-tier--paid{background:linear-gradient(180deg,#a855f714,#ffffff08);border-color:#a855f759}.tp-tier--paid:hover{border-color:#a855f78c}.tp-tier-head{border-bottom:1px solid #ffffff14;margin-bottom:1.25rem;padding-bottom:1.25rem}.tp-tier-badge{border-radius:20px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.85rem;padding:.3rem .85rem;text-transform:uppercase}.tp-tier-badge--free{background:#00b5091f;border:1px solid #00b5094d;color:#00b509}.tp-tier-badge--paid{background:#a855f726;border:1px solid #a855f74d;color:#c084fc}.tp-tier-title{color:var(--text-primary);font-size:1.35rem;font-weight:800;margin:0 0 .4rem}.tp-tier-sub{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.tp-tier-list{display:flex;flex:1 1;flex-direction:column;gap:.9rem;list-style:none;margin:0;padding:0}.tp-tier-list li{align-items:flex-start;display:flex;gap:.85rem}.tp-tier-list li>div{display:flex;flex-direction:column;gap:.15rem}.tp-tier-icon{align-items:center;border-radius:6px;display:inline-flex;flex-shrink:0;font-size:1rem;font-weight:700;height:32px;justify-content:center;line-height:1;margin-top:.05rem;text-align:center;width:32px}.tp-tier--free .tp-tier-icon{background:#00b50926;border:1px solid #00b5094d;color:#00b509}.tp-tier--paid .tp-tier-icon{background:#a855f71f;border:1px solid #a855f740}.tp-tier-list li strong{color:var(--text-primary);display:block;font-size:.95rem;font-weight:700}.tp-tier-list li>div>span{color:var(--text-secondary);display:block;font-size:.85rem;line-height:1.5}.tp-tier-foot{align-items:center;border-top:1px solid #ffffff14;display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem;padding-top:1.25rem}.tp-tier-foot-note{color:var(--text-secondary);font-size:.78rem;text-align:center}.tp-feature-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tp-feature-item{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.25rem}.tp-feature-label{color:var(--text-primary);font-size:.88rem;font-weight:700}.tp-feature-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.tp-item-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.tp-item-card{align-items:flex-start;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:.75rem;padding:.85rem 1rem}.tp-item-icon{flex-shrink:0;font-size:1.25rem;margin-top:.1rem}.tp-item-card strong{color:var(--text-primary);display:block;font-size:.88rem;margin-bottom:.15rem}.tp-item-desc{color:var(--text-secondary);display:block;font-size:.8rem;line-height:1.4}.tp-assignment-features{display:flex;flex-direction:column;gap:.6rem}.tp-af-item{border-left:2px solid #0ea5e94d;color:var(--text-secondary);font-size:.88rem;line-height:1.5;padding-left:1rem}.tp-af-item strong{color:var(--text-primary)}.tp-dashboard-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tp-dash-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:1.25rem;transition:border-color .2s}.tp-dash-card:hover{border-color:#0ea5e940}.tp-dash-card h4{color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:.4rem}.tp-dash-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.tp-final-cta{background:linear-gradient(180deg,#0000,#0ea5e90a);border-top:1px solid var(--border-color);padding:4rem 2rem;text-align:center}.tp-final-cta h2{font-size:2rem;font-weight:800;margin-bottom:1rem}.tp-final-cta p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:600px}@media (max-width:768px){.tp-hero{padding:3rem 1.25rem 2.5rem}.tp-hero h1{font-size:2rem}.tp-hero-desc{font-size:1rem}.tp-section{padding:2.5rem 1.25rem}.tp-section-title{font-size:1.5rem}.tp-stats{gap:1.5rem}.tp-stat-divider{display:none}.tp-stat-num{font-size:1.5rem}.tp-card-grid,.tp-card-grid-sm,.tp-course-highlights,.tp-dashboard-grid,.tp-feature-grid,.tp-item-grid,.tp-tier-grid,.tp-unit-grid{grid-template-columns:1fr}.tp-inline-cta{flex-direction:column;gap:.75rem;text-align:center}.tp-final-cta{padding:2.5rem 1.25rem}.tp-final-cta h2{font-size:1.5rem}}@media (max-width:480px){.tp-hero h1{font-size:1.65rem}.tp-hero-actions{align-items:stretch;flex-direction:column}.tp-hero-actions .btn{text-align:center}}.ct-page{color:var(--text-primary)}.ct-hero{background:linear-gradient(135deg,#0a2e0d,#061a08 60%,#001a1a);border-bottom:1px solid #00b50926;padding:4.5rem 2rem 3.5rem;text-align:center}.ct-hero-content{margin:0 auto;max-width:700px}.ct-hero-label{background:#00b5091f;border:1px solid #00b50940;border-radius:20px;color:#4ade80;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.ct-hero h1{font-size:2.5rem;font-weight:800;line-height:1.15;margin-bottom:1rem}.ct-hero-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.65;margin-bottom:1.75rem}.ct-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.ct-section{margin:0 auto;max-width:1100px;padding:3.5rem 2rem}.ct-section-alt{background:#ffffff05;max-width:none;padding:3.5rem 2rem}.ct-section-alt>*{margin-left:auto;margin-right:auto;max-width:1100px}.ct-section-title{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;text-align:center}.ct-section-sub{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 auto 2rem;max-width:600px;text-align:center}.ct-services-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.ct-service-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;padding:0}.ct-service-header{padding:1.25rem 1.5rem 1rem}.ct-service-student{background:linear-gradient(135deg,#00b50914,#00b50905);border-bottom:1px solid #00b5091f}.ct-service-teacher{background:linear-gradient(135deg,#a855f714,#a855f705);border-bottom:1px solid #a855f71f}.ct-service-badge{border-radius:20px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.6rem;padding:.25rem .7rem;text-transform:uppercase}.ct-badge-green{background:#00b5091f;border:1px solid #00b50940;color:#00b509}.ct-badge-purple{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.ct-service-header h3{font-size:1.1rem;font-weight:700;margin:0}.ct-service-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6;padding:1rem 1.5rem 0}.ct-sub-heading{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:.4rem;padding:0 1.5rem;text-transform:uppercase}.ct-service-list{list-style:none;margin:0 0 1rem;padding:0 1.5rem}.ct-service-list li{color:var(--text-secondary);font-size:.86rem;line-height:1.45;padding:.3rem 0 .3rem 1.2rem;position:relative}.ct-service-list li:before{color:#00b509;content:"\2713";font-weight:700;left:0;position:absolute}.ct-pricing{margin-bottom:.5rem;padding:0 1.5rem}.ct-price-row{align-items:baseline;display:flex;gap:.35rem;margin-bottom:.4rem}.ct-price{color:var(--text-primary);font-size:1.75rem;font-weight:800}.ct-price-label{color:var(--text-secondary);font-size:.85rem}.ct-price-packages{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.82rem;gap:.15rem}.ct-price-note{color:var(--text-secondary);font-size:.8rem;font-style:italic;padding:0 1.5rem}.ct-service-cta{display:block;margin:auto 1.5rem 1.5rem;text-align:center}.ct-why-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ct-why-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:1.25rem}.ct-why-icon{display:block;font-size:1.5rem;margin-bottom:.4rem}.ct-why-card h4{font-size:1rem;font-weight:700;margin-bottom:.4rem}.ct-why-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin:0}.ct-explore-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ct-explore-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;color:inherit;padding:1.1rem 1.15rem;text-decoration:none;transition:border-color .2s,transform .2s}.ct-explore-card:hover{border-color:#00b5094d;color:inherit;text-decoration:none;transform:translateY(-2px)}.ct-explore-icon{display:block;font-size:1.35rem;margin-bottom:.4rem}.ct-explore-card h4{font-size:.92rem;font-weight:700;margin-bottom:.25rem}.ct-explore-card p{color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin:0}.ct-textbook{text-align:center}.ct-textbook h3{font-size:1.15rem;font-weight:700;margin-bottom:.4rem}.ct-textbook p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.ct-final-cta{background:linear-gradient(180deg,#0000,#00b5090a);border-top:1px solid var(--border-color);padding:3.5rem 2rem;text-align:center}.ct-final-cta h2{font-size:1.35rem;font-weight:700;line-height:1.4;margin:0 auto 1.5rem;max-width:550px}@media (max-width:768px){.ct-hero{padding:2.5rem 1.25rem 2rem}.ct-hero h1{font-size:1.85rem}.ct-section,.ct-section-alt{padding:2.5rem 1.25rem}.ct-section-title{font-size:1.35rem}.ct-explore-grid,.ct-services-grid,.ct-why-grid{grid-template-columns:1fr}.ct-final-cta{padding:2rem 1.25rem}.ct-final-cta h2{font-size:1.15rem}}@media (max-width:480px){.ct-hero h1{font-size:1.5rem}.ct-hero-actions{align-items:stretch;flex-direction:column}.ct-hero-actions .btn{text-align:center}}.ct-hero{background:linear-gradient(135deg,#2d1854,#120a24)!important}.ct-hero .maven-hero-label{background:#a855f726;border-color:#a855f74d;color:#a855f7}.ct-content-section{max-width:100%;padding:3.5rem 1.5rem}.ct-content-section>*{margin-left:auto;margin-right:auto;max-width:960px}.ct-content-section:nth-of-type(odd){background:#00b5090a}.ct-content-section:nth-of-type(2n){background:#0000}.ct-overview-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:2rem}.ct-overview-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;transition:border-color .2s}.ct-overview-card:hover{border-color:var(--primary-color)}.ct-overview-step{align-items:center;background:#00b50926;border-radius:50%;color:var(--primary-color);display:inline-flex;font-size:1rem;font-weight:800;height:36px;justify-content:center;margin-bottom:.75rem;width:36px}.ct-overview-card h3{color:var(--text-primary);font-size:1.05rem;margin:0 0 .5rem}.ct-overview-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.ct-req-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;overflow:hidden;transition:border-color .2s}.ct-req-card.open{border-color:var(--primary-color)}.ct-req-header{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:1rem;padding:1.25rem 1.5rem;text-align:left;width:100%}.ct-req-header:hover{background:#00b5090a}.ct-req-badge{align-items:center;background:#00b50926;border-radius:8px;color:var(--primary-color);display:inline-flex;font-size:.85rem;font-weight:800;height:32px;justify-content:center;min-width:32px;width:32px}.ct-req-header-text{flex:1 1}.ct-req-header-text h3{color:var(--text-primary);font-size:1.1rem;margin:0}.ct-req-collab{letter-spacing:.05em;text-transform:uppercase}.ct-req-chevron,.ct-req-collab{color:var(--text-secondary);font-size:.75rem}.ct-req-chevron{margin-left:auto}.ct-req-body{border-top:1px solid var(--border-color);padding:1.5rem}.ct-req-body p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.ct-req-body h4{color:var(--text-primary);font-size:.95rem;margin:1.5rem 0 .75rem}.ct-req-body h4:first-child{margin-top:.5rem}.ct-checklist{list-style:none;margin:0;padding:0}.ct-checklist li{color:var(--text-secondary);font-size:.88rem;line-height:1.5;padding:.4rem 0 .4rem 1.75rem;position:relative}.ct-checklist li:before{color:var(--primary-color);content:"\2610";font-size:1rem;left:0;position:absolute}.ct-checklist.danger li:before{color:#ef4444;content:"\2717"}.ct-checklist li ul{list-style:disc;margin-top:.25rem;padding-left:1.25rem}.ct-checklist li ul li{padding-left:0}.ct-checklist li ul li:before{display:none}.ct-callout{border-radius:8px;font-size:.88rem;line-height:1.6;margin-top:1rem;padding:1rem 1.25rem}.ct-callout.warning{background:#f59e0b14;border:1px solid #f59e0b33;color:var(--text-secondary)}.ct-callout.warning strong{color:#f59e0b}.ct-callout.danger{background:#ef444414;border:1px solid #ef444433;color:var(--text-secondary)}.ct-callout.danger strong{color:#ef4444}.ct-callout.tip{background:#00b50914;border:1px solid #00b50933;color:var(--text-secondary)}.ct-callout.tip strong{color:var(--primary-color)}.ct-callout code{background:#ffffff0f;border-radius:4px;font-size:.82rem;padding:.15rem .4rem}.ct-code-block{border:1px solid #ffffff14;border-radius:8px;margin:.75rem 0;padding:1.25rem 1.5rem}.ct-code-block.compact{padding:.75rem 1rem}.ct-code-block pre{color:#e6edf3;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.7;margin:0;white-space:pre}.ct-code-caption{color:var(--text-secondary);font-size:.8rem;font-style:italic;margin-top:.25rem}.ct-specs-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:.75rem 0}.ct-spec{background:#00b5090f;border:1px solid #00b5091f;border-radius:8px;padding:.75rem 1rem;text-align:center}.ct-spec-label{color:var(--text-secondary);display:block;font-size:.7rem;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.ct-spec-value{color:var(--text-primary);font-size:.88rem;font-weight:600}.ct-ppr-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:.75rem 0 1.25rem}.ct-ppr-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.75rem;padding:1rem}.ct-ppr-num{align-items:center;background:#00b50926;border-radius:6px;color:var(--primary-color);display:inline-flex;font-size:.8rem;font-style:italic;font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.ct-ppr-item strong{color:var(--text-primary);display:block;font-size:.9rem;margin-bottom:.25rem}.ct-ppr-item p{color:var(--text-secondary);font-size:.82rem;line-height:1.5;margin:0}.ct-rubric-cards{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.ct-rubric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:border-color .2s}.ct-rubric-card.open{border-color:var(--primary-color)}.ct-rubric-header{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;text-align:left;width:100%}.ct-rubric-header:hover{background:#00b5090a}.ct-rubric-row-num{align-items:center;background:#00b5091f;border-radius:6px;color:var(--primary-color);display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-width:90px;padding:.3rem .6rem;text-transform:uppercase;white-space:nowrap}.ct-rubric-row-title{flex:1 1;font-size:.95rem;font-weight:600}.ct-rubric-row-pts{color:var(--text-secondary);font-size:.8rem;font-weight:600;white-space:nowrap}.ct-rubric-body{border-top:1px solid var(--border-color);padding:1.25rem}.ct-rubric-detail{margin-bottom:1rem}.ct-rubric-detail:last-child{margin-bottom:0}.ct-rubric-detail h4{color:var(--primary-color);font-size:.85rem;letter-spacing:.04em;margin:0 0 .4rem;text-transform:uppercase}.ct-rubric-detail p{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0}.ct-rubric-detail.mistakes h4{color:#f59e0b}.ct-rubric-detail ul{list-style:none;margin:0;padding:0}.ct-rubric-detail ul li{color:var(--text-secondary);font-size:.85rem;line-height:1.5;padding:.3rem 0 .3rem 1.25rem;position:relative}.ct-rubric-detail ul li:before{color:#f59e0b;content:"\26A0";font-size:.8rem;left:0;position:absolute}.ct-lo-list li:before{color:var(--primary-color)!important;content:"\2022"!important;font-size:1rem!important}.ct-lo-list li{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8rem!important}.ct-example-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1rem;overflow:hidden;transition:border-color .2s}.ct-example-card.open{border-color:var(--primary-color)}.ct-example-header{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;text-align:left;width:100%}.ct-example-header:hover{background:#00b5090a}.ct-example-body{border-top:1px solid var(--border-color);padding:1.25rem}.ct-example-prompt{background:#00b5090f;border:1px solid #00b5091f;border-radius:8px;margin-bottom:1rem;padding:1rem}.ct-example-prompt h4{color:var(--primary-color);font-size:.78rem;letter-spacing:.05em;margin:0 0 .4rem;text-transform:uppercase}.ct-example-prompt p{color:var(--text-primary);font-size:.88rem;font-style:italic;line-height:1.5;margin:0}.ct-example-scenario{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.ct-example-comparison{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.ct-example-bad,.ct-example-good{border-radius:8px;font-size:.85rem;line-height:1.6;padding:1rem}.ct-example-good{background:#22c55e0f;border:1px solid #22c55e33}.ct-example-good h4{color:#22c55e;font-size:.8rem;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.ct-example-good p{color:var(--text-secondary);margin:0}.ct-example-bad{background:#ef44440f;border:1px solid #ef444433}.ct-example-bad h4{color:#ef4444;font-size:.8rem;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.ct-example-bad p{color:var(--text-secondary);margin:0}.ct-example-why{background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:8px;padding:1rem}.ct-example-why h4{color:#f59e0b;font-size:.8rem;letter-spacing:.04em;margin:0 0 .4rem;text-transform:uppercase}.ct-example-why p{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.ct-project-example{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem;transition:border-color .2s}.ct-project-example:hover{border-color:#00b50959}.ct-project-example-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.ct-project-example-header h3{color:var(--text-primary);font-size:1.15rem;margin:0}.ct-lang-badge{border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.25rem .65rem;text-transform:uppercase;white-space:nowrap}.ct-lang-badge.python{background:#3776ab26;border:1px solid #3776ab4d;color:#3776ab}.ct-lang-badge.javascript{background:#f0db4f1f;border:1px solid #f0db4f4d;color:#f0db4f}.ct-lang-badge.java{background:#ed8b001f;border:1px solid #ed8b004d;color:#ed8b00}.ct-lang-badge.swift{background:#f051381f;border:1px solid #f051384d;color:#f05138}.ct-lang-badge.csharp{background:#68217a1f;border:1px solid #68217a4d;color:#9b4dca}.ct-project-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.ct-project-pill{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;padding:.45rem 1.1rem;transition:all .2s}.ct-project-pill:hover{border-color:var(--primary-color);color:var(--text-primary)}.ct-project-pill.active{background:#00b5091f;border-color:var(--primary-color);color:var(--primary-color)}.ct-project-example-toggle{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:1rem;padding:0;text-align:left;width:100%}.ct-project-example-toggle h3{color:var(--text-primary);font-size:1.15rem;margin:0;white-space:nowrap}.ct-project-example-desc-inline{color:var(--text-secondary);flex:1 1;font-size:.85rem}.ct-project-example-body{margin-top:1.25rem}.ct-lang-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.ct-lang-tab{background:var(--bg-secondary);border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.35rem .85rem;text-transform:uppercase;transition:all .2s}.ct-lang-tab.active,.ct-lang-tab:hover{color:var(--text-primary)}.ct-lang-tab.python.active{background:#3776ab26;border-color:#3776ab4d;color:#3776ab}.ct-lang-tab.javascript.active{background:#f0db4f1f;border-color:#f0db4f4d;color:#f0db4f}.ct-lang-tab.java.active{background:#ed8b001f;border-color:#ed8b004d;color:#ed8b00}.ct-lang-tab.swift.active{background:#f051381f;border-color:#f051384d;color:#f05138}.ct-lang-tab.csharp.active{background:#68217a1f;border-color:#68217a4d;color:#9b4dca}.ct-frq-link-btn{align-items:center;background:#00b50914;border:1px solid #00b50940;border-radius:8px;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;margin-top:1.25rem;padding:.55rem 1.1rem;transition:all .15s}.ct-frq-link-btn:hover{background:#00b50926;border-color:#00b50966;color:#4ade80}.ct-project-response-answer{color:var(--text-secondary);font-size:.85rem;line-height:1.65}.ct-project-response-answer strong{display:block;font-size:.78rem;letter-spacing:.04em;margin-bottom:.3rem;text-transform:uppercase}.ct-project-response-answer.good{margin-bottom:.75rem}.ct-project-response-answer.good strong{color:#22c55e}.ct-project-response-answer.bad{background:#ef44440d;border:1px solid #ef444426;border-radius:6px;margin-top:.5rem;padding:.85rem 1rem}.ct-project-response-answer.bad strong{color:#ef4444}.ct-rubric-link{color:var(--primary-color);display:inline-block;font-size:.85rem;font-weight:500;margin-top:1rem;text-decoration:none;transition:color .2s}.ct-rubric-link:hover{color:#4ade80;text-decoration:underline}.ct-project-example-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin:0 0 1rem}.ct-project-reqs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.ct-req-met{background:#22c55e1a;border:1px solid #22c55e40;border-radius:4px;color:#22c55e;font-size:.7rem;font-weight:600;padding:.2rem .55rem;white-space:nowrap}.ct-checklist-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.ct-checklist-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.ct-checklist-card h4{color:var(--text-primary);font-size:1rem;margin:0 0 1rem}.ct-checklist-card .ct-checklist li:before{color:var(--primary-color);content:"\2610"}.ct-checklist-card .ct-checklist.danger-check li:before{color:#ef4444;content:"\2610"}.ct-integrity-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.ct-integrity-card{border-radius:12px;padding:1.5rem}.ct-integrity-card h4{font-size:1rem;margin:0 0 .75rem}.ct-integrity-card ul{list-style:none;margin:0;padding:0}.ct-integrity-card ul li{color:var(--text-secondary);font-size:.85rem;line-height:1.5;padding:.35rem 0 .35rem 1.5rem;position:relative}.ct-integrity-card.allowed{background:#22c55e0f;border:1px solid #22c55e33}.ct-integrity-card.allowed h4{color:#22c55e}.ct-integrity-card.allowed li:before{color:#22c55e;content:"\2713";font-weight:700;left:0;position:absolute}.ct-integrity-card.not-allowed{background:#ef44440f;border:1px solid #ef444433}.ct-integrity-card.not-allowed h4{color:#ef4444}.ct-integrity-card.not-allowed li:before{color:#ef4444;content:"\2717";font-weight:700;left:0;position:absolute}.ct-faq-search{margin:1.5rem auto 2rem;max-width:500px}.ct-faq-search,.ct-faq-search-input-wrap{position:relative}.ct-faq-search-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.95rem;outline:none;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .2s;width:100%}.ct-faq-search-input:focus{border-color:var(--primary-color)}.ct-faq-search-input::placeholder{color:var(--text-secondary);opacity:.6}.ct-faq-search-clear{align-items:center;background:#00b5091a;border:1px solid #00b50933;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;height:22px;justify-content:center;line-height:1;padding:0;position:absolute;right:.6rem;top:50%;transform:translateY(-50%);width:22px}.ct-faq-search-clear:hover{color:var(--text-primary)}.ct-faq-search-count{color:var(--text-secondary);display:block;font-size:.78rem;margin-top:.4rem;text-align:center}.ct-faq-group{margin-bottom:1.5rem}.ct-faq-category{border-bottom:1px solid var(--border-color);color:var(--primary-color);font-size:.85rem;letter-spacing:.06em;margin:0 0 .75rem;padding-bottom:.5rem;text-transform:uppercase}.ct-faq-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.5rem;overflow:hidden;transition:border-color .2s}.ct-faq-item.open{border-color:#00b5094d}.ct-faq-question{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:1rem;justify-content:space-between;line-height:1.4;padding:.85rem 1rem;text-align:left;width:100%}.ct-faq-question:hover{background:#00b5090a}.ct-faq-answer{border-top:1px solid var(--border-color);padding:.85rem 1rem 1rem}.ct-faq-answer p{color:var(--text-secondary);font-size:.85rem;line-height:1.65;margin:0}.ct-faq-no-results{color:var(--text-secondary);font-size:.9rem;padding:2rem 0;text-align:center}.ct-ideas-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1.5rem}.ct-idea-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.25rem;transition:border-color .2s}.ct-idea-card:hover{border-color:var(--primary-color)}.ct-idea-card h4{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.ct-idea-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0 0 .75rem}.ct-idea-tags{display:flex;flex-wrap:wrap;gap:.4rem}.ct-idea-tag{background:#00b5091a;border:1px solid #00b50933;border-radius:4px;color:var(--primary-color);font-size:.7rem;padding:.2rem .5rem;white-space:nowrap}.ct-example-block{margin-bottom:1rem}.ct-example-divider{border:none;border-top:1px dashed var(--border-color);margin:1.5rem 0}.ct-example-num{color:var(--primary-color);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase}.ct-example-count{color:var(--text-secondary);font-size:.75rem;margin-left:auto;margin-right:.5rem;white-space:nowrap}.maven-footer{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;padding:2rem 1.5rem;text-align:center}.maven-footer p{margin:0 0 .5rem}.maven-footer-sub{font-size:.8rem}.maven-footer-sub a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.maven-footer-sub a:hover{color:var(--primary-color)}.maven-footer-dot{margin:0 .5rem;opacity:.5}.ct-exam-banner{align-items:center;background:linear-gradient(135deg,#00b50914,#00b5091f);border:1px solid #00b50940;border-radius:12px;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:2.5rem!important;margin-top:2.5rem!important;padding:1.5rem 2rem}.ct-exam-banner-text{flex:1 1}.ct-exam-banner-text strong{color:var(--text-primary);display:block;font-size:1.05rem;margin-bottom:.35rem}.ct-exam-banner-text p{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin:0}.ct-exam-banner .btn{flex-shrink:0;white-space:nowrap}.ct-exam-banner.compact{padding:1.15rem 1.5rem}.ct-exam-banner.compact .ct-exam-banner-text strong{font-size:.95rem}.ct-exam-banner.compact .ct-exam-banner-text p{font-size:.82rem}.ct-frq-set{border:1px solid var(--border-color);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.ct-frq-set.open{border-color:#00b5094d}.ct-frq-set-toggle{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;padding:1rem 1.25rem;width:100%}.ct-frq-set-toggle:hover{background:#ffffff08}.ct-frq-set-label{font-size:1rem;font-weight:600}.ct-frq-set-body{display:flex;flex-direction:column;gap:1.25rem;padding:0 1.25rem 1.25rem}.ct-frq-question{border-top:1px solid var(--border-color);padding-top:1rem}.ct-frq-question-label{color:var(--primary-color);font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.ct-frq-question-prompt{color:var(--text-primary);font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.ct-frq-response-toggles{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.ct-frq-resp-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.35rem .85rem;transition:all .15s}.ct-frq-resp-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.ct-frq-resp-btn.good.active{background:#22c55e14;border-color:#22c55e66;color:#22c55e}.ct-frq-resp-btn.bad.active{background:#ef444414;border-color:#ef444466;color:#ef4444}@media (max-width:600px){.ct-exam-banner{flex-direction:column;padding:1.25rem;text-align:center}}@media (max-width:768px){.ct-content-section{padding:2rem 1rem}.ct-overview-grid{grid-template-columns:1fr 1fr}.ct-example-comparison,.ct-integrity-grid,.ct-ppr-grid{grid-template-columns:1fr}.ct-project-example{padding:1.25rem}.ct-checklist-grid{grid-template-columns:1fr}}@media (max-width:480px){.ct-overview-grid{grid-template-columns:1fr}.ct-project-reqs{justify-content:center}.ct-req-header{padding:1rem}.ct-req-body{padding:0 1rem 1rem}}.apcsp-hero{background:linear-gradient(135deg,#2d1854,#120a24);padding:4rem 2rem 3rem;text-align:center}.apcsp-hero-content{margin:0 auto;max-width:750px}.apcsp-hero-label{background:#a855f726;border:1px solid #a855f74d;border-radius:20px;color:#a855f7;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.apcsp-hero h1{color:#fff;font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.apcsp-hero-subtitle{color:#ffffffb3;display:block;font-size:1.05rem;font-weight:400;margin-top:.4rem}.apcsp-hero p{color:#ffffffbf;font-size:1rem;line-height:1.65;margin-bottom:1.5rem}.apcsp-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.apcsp-hero-crosslink{color:#ffffff80;font-size:.85rem;margin-top:1.5rem}.apcsp-hero-crosslink a,.apcsp-hero-crosslinks a{color:#22c55e;font-weight:600;text-decoration:none}.apcsp-hero-crosslink a:hover,.apcsp-hero-crosslinks a:hover{text-decoration:underline}.apcsp-hero-crosslinks{color:#ffffff80;font-size:.85rem;margin-top:1.5rem}.apcsp-crosslink-dot{color:#ffffff80;margin:0 .35rem}.apcsp-app-promo{margin:0 auto;max-width:900px;padding:0 2rem}.apcsp-stats-bar{background:linear-gradient(180deg,#a855f70f 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:1.75rem 2rem}.apcsp-stats{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:0 auto;max-width:700px}.apcsp-stat{align-items:center;display:flex;flex-direction:column;gap:.15rem}.apcsp-stat-num{color:var(--primary-color);font-size:1.75rem;font-weight:800}.apcsp-stat-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.apcsp-tier-legend{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:0 auto;max-width:900px;padding:1.5rem 2rem}.apcsp-filter-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-right:.25rem;text-transform:uppercase}.apcsp-tier-legend .blocks-resource-pill{cursor:pointer;font-size:.9rem;padding:.45rem 1rem;transition:background .2s,border-color .2s,box-shadow .2s}.apcsp-pill-all{border-color:#ffffff40!important;color:var(--text-secondary)!important}.apcsp-pill-all:hover{background:#ffffff0f!important;border-color:#ffffff80!important}.apcsp-pill-all.active{background:#ffffff1a!important;border-color:#ffffff80!important;box-shadow:0 0 10px #ffffff1a;color:var(--text-primary)!important}.apcsp-pill-free{border-color:#00b50959!important;color:#00b509!important}.apcsp-pill-free:hover{background:#00b50914!important;border-color:#00b50999!important}.apcsp-pill-free.active{background:#00b5092e!important;border-color:#00b509!important;box-shadow:0 0 10px #00b50940}.apcsp-pill-mixed{border-color:#f59e0b59!important;color:#f59e0b!important}.apcsp-pill-mixed:hover{background:#f59e0b14!important;border-color:#f59e0b99!important}.apcsp-pill-mixed.active{background:#f59e0b2e!important;border-color:#f59e0b!important;box-shadow:0 0 10px #f59e0b40}.apcsp-pill-student{border-color:#a855f759!important;color:#a855f7!important}.apcsp-pill-student:hover{background:#a855f714!important;border-color:#a855f799!important}.apcsp-pill-student.active{background:#a855f72e!important;border-color:#a855f7!important;box-shadow:0 0 10px #a855f740}.apcsp-tier-badge{border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.apcsp-tier-badge.tier-free{background:#00b5091f;border:1px solid #00b50940;color:var(--primary-color)}.apcsp-tier-badge.tier-mixed{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.apcsp-tier-badge.tier-student{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.apcsp-resources{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1100px;padding:1rem 2rem 3rem}.apcsp-resource-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;padding:1.5rem;transition:border-color .2s,box-shadow .2s}.apcsp-resource-card:hover{border-color:#00b50959;box-shadow:0 4px 20px #0000004d}.apcsp-rc-header{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.75rem}.apcsp-rc-icon{flex-shrink:0;font-size:1.75rem;margin-top:.1rem}.apcsp-rc-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 .35rem}.apcsp-tier-split{display:flex;flex-wrap:wrap;gap:.35rem}.apcsp-rc-desc{color:var(--text-secondary);flex:1 1;font-size:.85rem;line-height:1.55;margin-bottom:1rem}.apcsp-rc-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.apcsp-rc-stat{background:#ffffff0a;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.7rem;font-weight:600;padding:.2rem .55rem}.apcsp-rc-link{color:var(--primary-color);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s}.apcsp-rc-link:hover{color:#4ade80;text-decoration:none}.apcsp-cta{background:linear-gradient(135deg,#001a01,#000a00);border-top:1px solid #00b50926;padding:3rem 2rem;text-align:center}.apcsp-cta h2{color:var(--text-primary);font-size:1.6rem;font-weight:800;margin-bottom:.75rem}.apcsp-cta p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 1.5rem;max-width:550px}.apcsp-cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media (max-width:768px){.apcsp-hero{padding:3rem 1.25rem 2.5rem}.apcsp-hero h1{font-size:1.7rem}.apcsp-stats{gap:1.5rem}.apcsp-tier-legend{gap:.5rem;padding:1.25rem 1rem}.apcsp-tier-legend .blocks-resource-pill{font-size:.78rem;padding:.35rem .75rem}.apcsp-resources{grid-template-columns:1fr;padding:1rem 1.25rem 2rem}}.apcsa-hero{background:linear-gradient(135deg,#062a06,#0a130a);padding:4rem 2rem 3rem;text-align:center}.apcsa-hero-content{margin:0 auto;max-width:750px}.apcsa-hero-label{background:#00b50926;border:1px solid #00b5094d;border-radius:20px;color:#00b509;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.3rem .85rem;text-transform:uppercase}.apcsa-hero h1{color:#fff;font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.apcsa-hero-subtitle{color:#ffffffb3;display:block;font-size:1.05rem;font-weight:400;margin-top:.4rem}.apcsa-hero p{color:#ffffffbf;font-size:1rem;line-height:1.65;margin-bottom:1.5rem}.apcsa-hero-pricing{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.apcsa-pricing-trial{color:#4ade80;font-size:.9rem}.apcsa-pricing-divider{color:#ffffff80}.apcsa-pricing-full{color:#ffffffb3;font-size:.9rem}.apcsa-pricing-full strong{color:#fff}.apcsa-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.apcsa-btn{background:#00b509!important;border-color:#00b509!important}.apcsa-btn:hover{background:#00a008!important}.apcsa-hero-crosslink{color:#ffffff80;font-size:.85rem;margin-top:1.5rem}.apcsa-hero-crosslink a{color:#22c55e;font-weight:600;text-decoration:none}.apcsa-hero-crosslink a:hover{text-decoration:underline}.apcsa-app-promo{margin:0 auto;max-width:900px;padding:0 2rem}.apcsa-stats-bar{background:linear-gradient(180deg,#00b5090f 0,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);padding:1.75rem 2rem}.apcsa-stats{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:0 auto;max-width:700px}.apcsa-stat{align-items:center;display:flex;flex-direction:column;gap:.15rem}.apcsa-stat-num{color:#00b509;font-size:1.75rem;font-weight:800}.apcsa-stat-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.apcsa-units-section{margin:0 auto;max-width:1100px;padding:3rem 2rem}.apcsa-units-section h2{color:var(--text-primary);font-size:1.6rem;margin-bottom:.5rem;text-align:center}.apcsa-section-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem;text-align:center}.apcsa-units-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.apcsa-unit-card{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:.85rem;padding:1.25rem;transition:border-color .2s}.apcsa-unit-card:hover{border-color:#00b5094d}.apcsa-unit-icon{flex-shrink:0;font-size:1.5rem;margin-top:.15rem}.apcsa-unit-info{flex:1 1}.apcsa-unit-number{color:#00b509;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.apcsa-unit-info h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin:.15rem 0 .35rem}.apcsa-unit-info p{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0}.apcsa-resources{margin:0 auto;max-width:1100px;padding:2rem 2rem 3rem}.apcsa-resources-heading{color:var(--text-primary);font-size:1.6rem;margin-bottom:2rem;text-align:center}.apcsa-resources-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.apcsa-resource-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;padding:1.5rem;transition:border-color .2s,box-shadow .2s}.apcsa-resource-card:hover{border-color:#00b50959;box-shadow:0 4px 20px #0000004d}.apcsa-rc-header{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.75rem}.apcsa-rc-icon{flex-shrink:0;font-size:1.75rem;margin-top:.1rem}.apcsa-rc-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 .35rem}.apcsa-tier-split{display:flex;flex-wrap:wrap;gap:.35rem}.apcsa-tier-badge{border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.apcsa-tier-badge,.apcsa-tier-badge.tier-free{background:#00b5091f;border:1px solid #00b50940;color:#00b509}.apcsa-tier-badge.tier-mixed{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.apcsa-rc-desc{color:var(--text-secondary);flex:1 1;font-size:.85rem;line-height:1.55;margin-bottom:1rem}.apcsa-rc-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.apcsa-rc-stat{background:#ffffff0a;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.7rem;font-weight:600;padding:.2rem .55rem}.apcsa-rc-link{color:#00b509;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s}.apcsa-rc-link:hover{color:#4ade80;text-decoration:none}.apcsa-pricing-section{margin:0 auto;max-width:900px;padding:3rem 2rem;text-align:center}.apcsa-pricing-section h2{color:var(--text-primary);font-size:1.6rem;margin-bottom:.5rem}.apcsa-pricing-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.apcsa-pricing-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:left}.apcsa-pricing-featured{border-color:#00b50966;box-shadow:0 0 30px #00b50914}.apcsa-pricing-badge{background:#ffffff0f;border-radius:20px;color:var(--text-secondary);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:1rem;padding:.25rem .75rem;text-transform:uppercase}.apcsa-pricing-badge-featured{background:#00b50926;border:1px solid #00b5094d;color:#00b509}.apcsa-pricing-price{margin-bottom:.75rem}.apcsa-price-amount{color:var(--text-primary);font-size:2.5rem;font-weight:900}.apcsa-price-period{color:var(--text-secondary);font-size:.9rem;margin-left:.35rem}.apcsa-pricing-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:1.25rem}.apcsa-pricing-features{list-style:none;margin:0 0 1.5rem;padding:0}.apcsa-pricing-features li{border-bottom:1px solid #ffffff0a;color:var(--text-secondary);font-size:.85rem;padding:.35rem 0}.apcsa-pricing-features li:last-child{border-bottom:none}.apcsa-also-included{background:#001a03;padding:3rem 2rem;text-align:center}.apcsa-also-included h2{color:#e2e8f0;font-size:1.6rem;margin-bottom:.5rem}.apcsa-also-included .apcsa-section-subtitle{color:#86efac}.apcsa-other-courses{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin:2rem auto 0;max-width:900px;text-align:left}.apcsa-other-course-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:1.5rem}.apcsa-other-csp{border-color:#a855f740}.apcsa-other-hci{border-color:#06b6d440}.apcsa-other-course-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.apcsa-other-course-badge{border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.apcsa-badge-csp{background:#a855f726;border:1px solid #a855f74d;color:#a855f7}.apcsa-badge-hci{background:#06b6d426;border:1px solid #06b6d44d;color:#06b6d4}.apcsa-other-course-header h3{color:#e2e8f0;font-size:1rem;font-weight:700;margin:0}.apcsa-other-course-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.apcsa-other-course-stats span{background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;color:#94a3b8;font-size:.65rem;font-weight:600;padding:.15rem .5rem}.apcsa-other-course-card p{color:#94a3b8;font-size:.85rem;line-height:1.5;margin-bottom:.75rem}.apcsa-hci-link{color:#06b6d4!important}.apcsa-hci-link:hover{color:#22d3ee!important}.apcsa-teacher-cta{margin:0 auto;max-width:700px;padding:3rem 2rem;text-align:center}.apcsa-teacher-cta h2{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-size:1.6rem;margin-bottom:1rem}.apcsa-teacher-cta p{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}@media (max-width:768px){.apcsa-hero{padding:3rem 1.25rem 2.5rem}.apcsa-hero h1{font-size:1.7rem}.apcsa-stats{gap:1.5rem}.apcsa-units-section{padding:2rem 1.25rem}.apcsa-units-grid{grid-template-columns:1fr}.apcsa-resources{padding:1rem 1.25rem 2rem}.apcsa-other-courses,.apcsa-pricing-cards,.apcsa-resources-grid{grid-template-columns:1fr}}.aigrading-landing{color:var(--text-primary)}.aigrading-landing section{padding:4rem 2rem}.aigrading-hero{background:linear-gradient(135deg,#0c4a6e,#042f4a 60%,#001a2e);border-bottom:1px solid #0ea5e926;padding:5rem 2rem 4rem;text-align:center}.aigrading-hero-content{margin:0 auto;max-width:820px}.aigrading-hero-label{background:#0ea5e91f;border:1px solid #0ea5e940;border-radius:20px;color:#7dd3fc;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.5rem;padding:.3rem .85rem;text-transform:uppercase}.aigrading-hero h1{color:var(--text-primary);font-size:2.5rem;font-weight:800;line-height:1.15;margin-bottom:1.25rem}.aigrading-hero-subtitle{color:var(--text-secondary);display:block;font-size:1.05rem;font-weight:400;margin-top:.5rem}.aigrading-hero p{color:var(--text-secondary);font-size:1.125rem;line-height:1.65;margin:0 auto 2rem;max-width:720px}.aigrading-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.aigrading-hero-meta{color:var(--text-secondary)!important;font-size:.95rem!important;font-style:italic;margin-top:1.75rem!important}.aigrading-stats-bar{border-bottom:1px solid var(--border-color);padding:2rem}.aigrading-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1100px;text-align:center}.aigrading-stat{align-items:center;display:flex;flex-direction:column;gap:.4rem}.aigrading-stat-num{color:#0ea5e9;font-size:1.85rem;font-weight:800;line-height:1}.aigrading-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.aigrading-stat-sub{color:var(--text-secondary);font-size:.85rem;opacity:.8}.aigrading-landing h2{color:var(--text-primary);font-size:2rem;font-weight:800;margin:0 0 .75rem;text-align:center}.aigrading-section-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 2.5rem;max-width:700px;text-align:center}.aigrading-steps{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1100px}.aigrading-step-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:1.75rem 1.5rem;transition:border-color .2s,transform .2s}.aigrading-step-card:hover{border-color:#0ea5e94d;transform:translateY(-2px)}.aigrading-step-num{align-items:center;background:#0ea5e926;border-radius:50%;color:#0ea5e9;display:inline-flex;font-size:1.2rem;font-weight:800;height:2.5rem;justify-content:center;margin-bottom:.85rem;width:2.5rem}.aigrading-step-card h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 .5rem}.aigrading-step-card p{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0}.aigrading-mockup-section{background:#0ea5e908;border-bottom:1px solid #0ea5e914;border-top:1px solid #0ea5e914}.aigrading-mockup-frame{background:#111;border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 20px 60px #00000080;margin:0 auto;max-width:1100px;overflow:hidden}.aigrading-mockup-toolbar{align-items:center;background:#1a1a1a;border-bottom:1px solid #ffffff0f;display:flex;gap:.4rem;padding:.65rem 1rem}.aigrading-mockup-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.aigrading-mockup-dot-r{background:#ff5f57}.aigrading-mockup-dot-y{background:#febc2e}.aigrading-mockup-dot-g{background:#28c840}.aigrading-mockup-url{color:#ffffff73;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;margin-left:.75rem}.aigrading-mockup-body{background:#131a13;padding:1.25rem}.aigrading-mockup-ai-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.aigrading-mockup-ai-btn{background:linear-gradient(135deg,#00b509,#008007);border:none;border-radius:6px;color:#fff;cursor:default;font-size:.9rem;font-weight:600;padding:.55rem 1rem}.aigrading-mockup-ai-done{background:#00b5091a;border:1px solid #00b50940;border-radius:6px;color:#4ade80;font-size:.85rem;padding:.35rem .7rem}.aigrading-mockup-q-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;gap:.75rem;margin-bottom:1rem;padding:.5rem 0 1rem}.aigrading-mockup-q-num{background:#00b50926;border-radius:4px;color:#00b509;font-size:.85rem;font-weight:700;padding:.2rem .55rem}.aigrading-mockup-q-title{color:#fff;flex:1 1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;font-weight:600}.aigrading-mockup-q-score{color:#4ade80;font-weight:700}.aigrading-mockup-part-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.aigrading-mockup-part-label{color:#fff;font-size:.95rem;font-weight:600}.aigrading-mockup-part-score{color:#ffffffb3;font-size:.85rem}.aigrading-mockup-save-pill{background:#00b50926;border-radius:4px;color:#4ade80;font-size:.75rem;margin-left:auto;padding:.2rem .55rem}.aigrading-mockup-split{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1.2fr 1fr}.aigrading-mockup-col-label{color:#ffffff80;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.aigrading-mockup-code{background:#0a0e0a;border:1px solid #ffffff0f;border-radius:6px;color:#d4d4d4;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;line-height:1.55;margin:0;overflow-x:auto;padding:.85rem 1rem}.aigrading-mockup-rubric-list{display:flex;flex-direction:column;gap:.65rem;list-style:none;margin:0;padding:0}.aigrading-mockup-rubric-item{background:#00b5090f;border:1px solid #00b50940;border-radius:6px;padding:.65rem .85rem}.aigrading-mockup-rubric-row{align-items:center;display:flex;gap:.5rem}.aigrading-mockup-rubric-check{align-items:center;background:#00b509;border-radius:3px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.1rem;justify-content:center;width:1.1rem}.aigrading-mockup-rubric-desc{color:#fff;flex:1 1;font-size:.88rem;line-height:1.4}.aigrading-mockup-rubric-pts{color:#ffffff80;font-size:.78rem}.aigrading-mockup-rubric-comment{color:#ffffffa6;font-size:.8rem;font-style:italic;line-height:1.45;margin-left:1.6rem;margin-top:.45rem}.aigrading-mockup-caption{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:1.5rem auto 0;max-width:720px;text-align:center}.aigrading-ced-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1100px}.aigrading-ced-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem;transition:border-color .2s,transform .2s}.aigrading-ced-card:hover{border-color:#0ea5e94d;transform:translateY(-2px)}.aigrading-ced-card-num{background:#0ea5e91f;border:1px solid #0ea5e940;border-radius:4px;color:#0ea5e9;display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;font-weight:800;margin-bottom:.85rem;padding:.2rem .65rem}.aigrading-ced-card h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0 0 .4rem}.aigrading-ced-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0}.aigrading-hours{background:#0ea5e908;border-bottom:1px solid #0ea5e914;border-top:1px solid #0ea5e914}.aigrading-compare{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:980px}.aigrading-compare-col{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:1.75rem}.aigrading-compare-manual{background:#ff64640a;border-color:#ff646440}.aigrading-compare-ai{background:#0ea5e90f;border-color:#0ea5e966}.aigrading-compare-col h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 1rem;text-align:center}.aigrading-compare-col ul{display:flex;flex-direction:column;gap:.65rem;list-style:none;margin:0;padding:0}.aigrading-compare-col li{color:var(--text-secondary);font-size:.95rem;padding-left:1.25rem;position:relative}.aigrading-compare-col li:before{color:var(--text-secondary);content:"·";font-weight:800;left:.5rem;opacity:.5;position:absolute;top:-.05rem}.aigrading-compare-total{border-top:1px solid #ffffff1a;color:var(--text-primary)!important;font-size:1.05rem!important;margin-top:.5rem;padding-top:.85rem!important}.aigrading-compare-total:before{content:none!important}.aigrading-compare-manual .aigrading-compare-total strong{color:#fca5a5}.aigrading-compare-ai .aigrading-compare-total strong{color:#7dd3fc}.aigrading-compare-arrow{align-items:center;color:#0ea5e999;display:flex;font-size:2rem;font-weight:800;justify-content:center}.aigrading-hours-bottom{color:var(--text-primary);font-size:1rem;line-height:1.6;margin:2rem auto 0;max-width:720px;text-align:center}.aigrading-tutor{background:#ffffff05;border-bottom:1px solid #0ea5e914;border-top:1px solid #0ea5e914}.aigrading-tutor-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0 auto;max-width:1100px}.aigrading-tutor-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem;text-align:center;transition:border-color .2s,transform .2s}.aigrading-tutor-card:hover{border-color:#0ea5e94d;transform:translateY(-2px)}.aigrading-tutor-icon{font-size:2rem;line-height:1;margin-bottom:.65rem}.aigrading-tutor-card h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0 0 .5rem}.aigrading-tutor-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0}.aigrading-tutor-foot{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:1.75rem auto 0;max-width:760px;text-align:center}.aigrading-tutor-bubble-chip{background:linear-gradient(135deg,#7c3aed2e,#0ea5e92e);border:1px solid #7c3aed59;border-radius:999px;color:#c4b5fd;display:inline-block;font-size:.85rem;font-weight:600;padding:.1rem .55rem;white-space:nowrap}.aigrading-faq-list{display:flex;flex-direction:column;gap:.65rem;margin:0 auto;max-width:780px}.aigrading-faq-item{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;padding:.9rem 1.1rem;transition:border-color .2s}.aigrading-faq-item:hover{border-color:#0ea5e94d}.aigrading-faq-item summary{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.98rem;font-weight:600;justify-content:space-between;list-style:none}.aigrading-faq-item summary:after{color:#0ea5e9;content:"+";font-size:1.2rem;font-weight:700}.aigrading-faq-item[open] summary:after{content:"−"}.aigrading-faq-item p{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:.75rem 0 0}.aigrading-teacher-cta{background:linear-gradient(135deg,#0c4a6e,#042f4a 60%,#001a2e);border-top:1px solid #0ea5e926;text-align:center}.aigrading-teacher-cta h2{margin-bottom:.75rem}.aigrading-teacher-cta p{color:var(--text-secondary);font-size:1.05rem;line-height:1.65;margin:0 auto 1.75rem;max-width:700px}.aigrading-teacher-cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:900px){.aigrading-stats{gap:1.75rem;grid-template-columns:repeat(2,1fr)}.aigrading-compare,.aigrading-mockup-split{grid-template-columns:1fr}.aigrading-compare-arrow{padding:.5rem 0;transform:rotate(90deg)}}@media (max-width:600px){.aigrading-hero h1{font-size:1.9rem}.aigrading-hero{padding:3.5rem 1.25rem 2.75rem}.aigrading-landing section{padding:2.75rem 1.25rem}.aigrading-stats{gap:1.5rem;grid-template-columns:1fr}.aigrading-mockup-body{padding:.85rem}.aigrading-mockup-code{font-size:.72rem}}.apps-hub{color:#f5f5f5;color:var(--text-color,#f5f5f5);margin:0 auto;max-width:1100px;padding:2rem 1.25rem 3rem}.apps-hub-hero{padding:2rem 0 2.5rem;text-align:center}.apps-hub-hero-label{color:#00b509;display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.08em;margin-bottom:.75rem;text-transform:uppercase}.apps-hub-hero h1{font-size:2.5rem;line-height:1.15;margin:0 0 .5rem}.apps-hub-hero-subtitle{display:block;font-size:1.1rem;font-weight:400;margin-top:.5rem;opacity:.85}.apps-hub-hero p{line-height:1.55;margin:1rem auto 0;max-width:720px;opacity:.9}.apps-hub-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}@media (max-width:720px){.apps-hub-grid{grid-template-columns:1fr}.apps-hub-hero h1{font-size:2rem}}.apps-hub-card{align-items:flex-start;background:#ffffff08;border:1px solid #00b5094d;border-radius:14px;display:flex;flex-direction:column;padding:1.75rem;transition:border-color .15s ease,transform .15s ease}.apps-hub-card:hover{border-color:#00b50999;transform:translateY(-2px)}.apps-hub-card-icon{border-radius:22px;height:96px;margin-bottom:1rem;width:96px}.apps-hub-card-name{font-size:1.4rem;margin:0 0 .25rem}.apps-hub-card-tagline{color:#00b509;font-size:.95rem;font-weight:500;margin-bottom:.75rem}.apps-hub-card-desc{font-size:.95rem;line-height:1.55;margin:0 0 1.25rem;opacity:.9}.apps-hub-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.apps-hub-card-badge{display:inline-block;line-height:0}.apps-hub-card-badge img{display:block;height:48px;width:auto}.apps-hub-card-badge:hover{opacity:.85}.apps-hub-card-learn{color:#00b509;font-size:.9rem;text-decoration:none}.apps-hub-card-learn:hover{text-decoration:underline}.apps-hub-footnote{border-top:1px solid #ffffff14;font-size:.8rem;margin-top:3rem;opacity:.6;padding-top:1.5rem;text-align:center}.code-tracing-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.ct-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.25rem}.ct-subtitle{color:var(--text-secondary);margin-bottom:2rem}.ct-member-lessons{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.ct-member-lessons-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;margin-right:.25rem}.ct-lesson-pill{background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:20px;color:#c4b5fd;display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;text-decoration:none;transition:border-color .2s,background .2s}.ct-lesson-pill:hover{background:#8b5cf633;border-color:#8b5cf699;color:#ddd6fe;text-decoration:none}.ct-upsell{background:linear-gradient(135deg,#8b5cf61a,#00b50914);border:1px solid #8b5cf640;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;text-align:center}.ct-upsell p{color:var(--text-secondary);font-size:.92rem;line-height:1.5;margin:0 0 1rem}.ct-upsell strong{color:var(--text-primary)}.ct-upsell-btn{display:inline-block;font-size:.9rem}.ct-progress-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:1.75rem;padding:1.5rem}.ct-progress-bar-section{margin-bottom:1rem}.ct-progress-top{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.5rem}.ct-progress-text{color:var(--text-secondary);font-size:.85rem}.ct-progress-pct{color:var(--primary-color);font-size:.85rem;font-weight:700}.ct-progress-track{background:#ffffff0f;border-radius:6px;height:12px;overflow:hidden}.ct-progress-fill{background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:6px;height:100%;min-width:0;position:relative;transition:width .5s ease}.ct-progress-segments{display:flex;gap:1px;height:100%}.ct-progress-seg{background:#ffffff1a;border-right:1px solid #ffffff26;flex:1 1}.ct-progress-seg.perfect{background:#ffd70040}.ct-progress-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.ct-continue-btn{font-size:.9rem;padding:.6rem 1.5rem;white-space:nowrap}.ct-all-complete{color:#10b981;font-size:.9rem;font-weight:700}.ct-progress-stats{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:.5rem}.ct-mini-stat strong{color:var(--text-primary)}.ct-mini-stat-sep{color:var(--border-color)}.ct-topic-breakdown{grid-gap:.75rem;border-top:1px solid var(--border-color);display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding-top:1rem}.ct-topic-item{display:flex;flex-direction:column;gap:.3rem}.ct-topic-head{align-items:baseline;display:flex;justify-content:space-between}.ct-topic-name{color:var(--text-secondary);font-size:.78rem;font-weight:600}.ct-topic-frac{color:var(--text-secondary);font-size:.7rem;opacity:.7}.ct-topic-track{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.ct-topic-fill{background:var(--border-color);border-radius:3px;height:100%;transition:width .4s ease}.ct-topic-fill.perfect{background:#10b981}.ct-topic-fill.good{background:var(--primary-color)}.ct-topic-fill.mid{background:#f59e0b}.ct-quiz-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:2rem}.ct-quiz-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;padding:1.25rem;position:relative;text-align:left;transition:all .15s}.ct-quiz-card:hover{background:#00b5090a;border-color:var(--primary-color)}.ct-quiz-card-sampler{background:#a855f70f;border-color:#a855f74d}.ct-quiz-card-sampler:hover{background:#a855f71a;border-color:#a855f7}.ct-card-complete{background:#10b98108;border-color:#10b9814d}.ct-card-perfect{background:#ffd7000a;border-color:#ffd70066}.ct-card-perfect:hover{background:#ffd70012;border-color:#ffd70099}.ct-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ct-card-num{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ct-card-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.ct-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:.5rem}.ct-card-topics{display:flex;flex-wrap:wrap;gap:.35rem}.ct-topic-tag{background:#00b5091a;border:1px solid #00b50933;border-radius:20px;color:var(--primary-color);font-size:.7rem;font-weight:600;padding:.2rem .5rem}.ct-card-score{background:#10b9811a;border-radius:6px;bottom:1rem;color:#10b981;font-size:.85rem;font-weight:700;padding:.2rem .6rem;position:absolute;right:1rem}.ct-score-perfect{background:#fbbf241f;border:1px solid #fbbf2440;color:#fbbf24}.ct-diff-badge{border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.ct-diff-easy{background:#10b9811f;border:1px solid #10b98140;color:#10b981}.ct-diff-medium{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.ct-diff-hard{background:#ef44441f;border:1px solid #ef444440;color:#ef4444}.ct-diff-mixed{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.ct-guest-banner{background:#a855f714;border:1px solid #a855f733;border-radius:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;padding:.75rem 1.25rem}.ct-guest-cta{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-top:2rem;padding:2.5rem 2rem;text-align:center}.ct-guest-cta h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.ct-guest-cta p{color:var(--text-secondary);line-height:1.6;margin:0 auto 1.5rem;max-width:500px}.ct-cta-sub{color:var(--text-secondary)!important;font-size:.85rem;margin-top:1rem!important}.ct-cta-sub a{color:var(--primary-color);text-decoration:none}.ct-cta-sub a:hover{text-decoration:underline}.ct-quiz-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.ct-back-btn{white-space:nowrap}.ct-quiz-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.15rem}.ct-q-counter{color:var(--text-secondary);font-size:.85rem}.ct-dots{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.ct-dot{background:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;font-size:0;height:32px;transition:all .2s;width:32px}.ct-dot.active{background:#00b50926;border-color:var(--primary-color)}.ct-dot.answered{background:var(--bg-secondary);border-color:var(--text-secondary)}.ct-code-block{background:#0d1117;border:1px solid #ffffff1a;border-radius:10px;margin-bottom:1.25rem;overflow-x:auto}.ct-code-block-small{margin-bottom:.75rem}.ct-code-lines{padding:1rem 0}.ct-code-line{display:flex;line-height:1.7;padding:0 1rem}.ct-code-line:hover{background:#ffffff08}.ct-line-num{border-right:1px solid #ffffff0f;color:#ffffff40;font-size:.85rem;margin-right:1rem;min-width:1.25rem;padding-right:.5rem;text-align:left;-webkit-user-select:none;user-select:none}.ct-line-code,.ct-line-num{font-family:SF Mono,Consolas,Menlo,monospace}.ct-line-code{color:#e6edf3;font-size:.9rem;white-space:pre}.ct-math-tip{background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin-bottom:1.25rem;padding:.75rem 1rem}.ct-math-tip strong{color:#60a5fa}.ct-answer-section{margin-bottom:1rem}.ct-answer-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.ct-answer-label code{background:#ffffff0f;border-radius:4px;color:#f59e0b;font-size:.85rem;padding:.15rem .4rem}.ct-answer-input{-moz-appearance:textfield;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1.1rem;font-weight:600;padding:.6rem 1rem;transition:border-color .15s;width:200px}.ct-answer-input::-webkit-inner-spin-button,.ct-answer-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ct-answer-input:focus{border-color:var(--primary-color);outline:none}.ct-hint-area{margin-bottom:1.5rem}.ct-hint-btn,.ct-hint-text{font-size:.85rem}.ct-hint-text{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;color:var(--text-secondary);line-height:1.6;padding:.75rem 1rem}.ct-hint-text strong{color:#f59e0b}.ct-nav{display:flex;gap:1rem;justify-content:space-between}.ct-submit-wrap{display:inline-flex;position:relative}.ct-submit-wrap[data-tooltip]:after{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #0009;color:#e2e8f0;content:attr(data-tooltip);font-size:.8rem;font-weight:400;line-height:1.5;opacity:0;padding:.55rem .85rem;pointer-events:none;position:absolute;right:0;text-align:center;transform:translateY(4px);transition:opacity .2s,transform .2s;width:240px;z-index:50}.ct-submit-wrap[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}@media (max-width:768px){.ct-submit-wrap[data-tooltip]:after{display:none}}.ct-leave-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.ct-leave-modal{animation:ctLeaveIn .2s ease;background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:400px;padding:1.75rem 2rem;width:100%}@keyframes ctLeaveIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ct-leave-modal h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 .5rem}.ct-leave-modal p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.ct-leave-actions{display:flex;gap:.75rem}.ct-leave-actions .btn{flex:1 1}.ct-score-banner{align-items:center;border:1px solid;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem;padding:1.25rem 1.5rem}.ct-score-banner.perfect{background:#052e16;border-color:#166534}.ct-score-banner.good{background:#1c2f1c;border-color:#2d5a2d}.ct-score-banner.retry{background:#2d1a00;border-color:#7c3500}.ct-score-num{color:var(--primary-color);font-size:2rem;font-weight:800;white-space:nowrap}.ct-score-label{color:var(--text-primary);flex:1 1;font-size:1rem}.ct-result-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.ct-result-correct{border-left:3px solid #10b981}.ct-result-wrong{border-left:3px solid #ef4444}.ct-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.ct-result-q{color:var(--text-primary);font-weight:700}.ct-result-icon{font-size:1.25rem;font-weight:800}.ct-result-icon.correct{color:#10b981}.ct-result-icon.wrong{color:#ef4444}.ct-result-answers{display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.5rem;margin-bottom:.75rem}.ct-ans-correct{color:#10b981}.ct-ans-wrong{color:#ef4444}.ct-explanation{background:var(--bg-secondary);border-left:3px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:.75rem;padding:.75rem 1rem}.ct-explanation strong{color:var(--text-primary)}.ct-trace-toggle{font-size:.8rem;margin-bottom:.75rem}.ct-trace-table-wrap{margin-top:.5rem;overflow-x:auto}.ct-trace-table{border-collapse:collapse;font-size:.8rem;width:100%}.ct-trace-table th{background:#ffffff0f;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.5rem .75rem;text-align:left;text-transform:uppercase}.ct-trace-table td{border-bottom:1px solid #ffffff0a;color:var(--text-secondary);padding:.4rem .75rem}.ct-trace-table tr:nth-child(2n) td{background:#ffffff05}.ct-trace-line{color:#ffffffb3;font-family:SF Mono,monospace;font-weight:700}.ct-trace-vars{display:flex;flex-wrap:wrap;gap:.5rem}.ct-var-pair{background:#00b50914;border-radius:4px;color:var(--primary-color);font-family:SF Mono,monospace;font-size:.75rem;padding:.1rem .4rem}.ct-results-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}@media (max-width:768px){.code-tracing-page{padding:2rem 1rem}.ct-title{font-size:1.5rem}.ct-quiz-grid{grid-template-columns:1fr}.ct-progress-row{align-items:flex-start;flex-direction:column}.ct-continue-btn{text-align:center;width:100%}.ct-topic-breakdown{grid-template-columns:1fr 1fr}.ct-quiz-header{flex-direction:column}.ct-answer-input{width:100%}.ct-code-block{border-radius:8px}.ct-line-code{font-size:.8rem}}.ct-related-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin-top:3rem;padding:1.75rem 2rem;text-align:center}.ct-related-section h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.ct-related-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem}.ct-related-section a:not(.btn){color:var(--primary-color);text-decoration:underline}.ct-related-btn{display:inline-block}.toh-page{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:3rem 2rem 4rem}.toh-container{margin:0 auto;max-width:960px}.toh-header{margin-bottom:2rem;text-align:center}.toh-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.75rem}.toh-hero-label{border-radius:20px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.25rem .75rem;text-transform:uppercase}.toh-pill-purple{background:#a855f71a;border:1px solid #a855f740;color:#a855f7}.toh-pill-green{background:#00b5091a;border:1px solid #00b50940;color:#00b509}.toh-title{font-size:2rem;font-weight:700;margin:.5rem 0}.toh-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 auto;max-width:600px}.toh-about{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.toh-about h2{font-size:1.15rem;font-weight:700;margin:0 0 .75rem}.toh-about p{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0 0 .75rem}.toh-about p:last-of-type{margin-bottom:1rem}.toh-about p strong{color:var(--text-primary)}.toh-ap-tip{background:#00b5090f;border:1px solid #00b50933;border-left:3px solid #00b509;border-radius:8px;color:var(--text-secondary);font-size:.85rem;line-height:1.5;padding:.85rem 1rem}.toh-ap-tip strong{color:#22c55e}.toh-ap-tip em{color:var(--text-primary);font-style:italic}.toh-controls{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.25rem}.toh-disc-selector,.toh-speed-selector{align-items:center;display:flex;gap:.75rem}.toh-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.toh-disc-pills{display:flex;gap:.35rem}.toh-pill{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;height:36px;justify-content:center;transition:all .15s;width:36px}.toh-pill.toh-pill-wide{font-size:.75rem;padding:0 .6rem;width:auto}.toh-pill:hover:not(:disabled){border-color:var(--primary-color);color:var(--text-primary)}.toh-pill.active{background:#00b50926;border-color:var(--primary-color);color:var(--primary-color)}.toh-pill:disabled{cursor:not-allowed;opacity:.4}.toh-actions{display:flex;gap:.5rem}.toh-btn{border-radius:8px!important;font-size:.8rem!important;padding:.5rem 1rem!important}.toh-btn-mute{font-size:1rem!important;line-height:1;padding:.5rem .6rem!important}.toh-btn-mute.muted{opacity:.5}.toh-btn-stop{border-color:#ef4444!important;color:#ef4444!important}.toh-btn-stop:hover{background:#ef44441a!important}.toh-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.toh-stat{background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;padding:.75rem;text-align:center}.toh-stat-value{color:var(--text-primary);display:block;font-size:1.4rem;font-weight:700}.toh-stat-label{color:var(--text-secondary);display:block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-top:.15rem;text-transform:uppercase}.toh-solved-banner{animation:toh-pop .3s ease;background:#00b5091a;border:1px solid #00b5094d;border-radius:10px;color:#22c55e;font-size:.95rem;font-weight:600;margin-bottom:1.5rem;padding:1rem;text-align:center}.toh-solved-banner.perfect{background:#ffd7001a;border-color:#ffd70059;color:gold}.toh-solved-icon{font-size:1.1rem;margin-right:.5rem}@keyframes toh-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toh-board{grid-gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem;padding:1.5rem .5rem .5rem;-webkit-user-select:none;user-select:none}.toh-peg-area{align-items:center;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;min-height:260px;padding:.5rem;transition:background .15s}.toh-peg-area:hover{background:#ffffff08}.toh-peg-area.selected{background:#00b5090f;border-radius:10px;outline:2px solid #00b5094d;outline-offset:-2px}.toh-peg-label{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.toh-peg-stack{align-items:flex-end;display:flex;height:240px;justify-content:center;position:relative;width:100%}.toh-peg-rod{border-radius:3px 3px 0 0;bottom:6px;height:200px;width:6px}.toh-peg-base,.toh-peg-rod{background:#ffffff1f;left:50%;position:absolute;transform:translateX(-50%)}.toh-peg-base{border-radius:3px;bottom:0;height:6px;width:85%}.toh-disc{align-items:center;border-radius:6px;box-shadow:0 2px 4px #0003;color:#000000a6;cursor:grab;display:flex;font-size:.7rem;font-weight:700;height:24px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);transition:transform .15s ease,box-shadow .15s;z-index:1}.toh-disc:active{cursor:grabbing}.toh-disc.lifted{box-shadow:0 6px 16px #00000059;transform:translateX(-50%) translateY(-12px);z-index:10}.toh-info-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.toh-info-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.toh-info-card h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 .75rem}.toh-info-card ul{list-style:none;margin:0;padding:0}.toh-info-card li{color:var(--text-secondary);font-size:.85rem;line-height:1.45;padding:.35rem 0 .35rem 1.1rem;position:relative}.toh-info-card li:before{color:var(--primary-color);content:"\2022";font-weight:700;left:0;position:absolute}.toh-info-card li strong{color:var(--text-primary)}.toh-code-section{margin-bottom:2rem}.toh-code-section h3{font-size:1rem;font-weight:700;margin-bottom:.75rem}.toh-code-tabs{display:flex;gap:.25rem;margin-bottom:0}.toh-code-tab{background:var(--bg-color);border:1px solid var(--border-color);border-bottom:none;border-radius:8px 8px 0 0;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:.45rem 1rem;transition:all .15s}.toh-code-tab:hover{background:#ffffff0a;color:var(--text-primary)}.toh-code-tab.active{background:#0000004d;border-color:#ffffff1a;color:var(--text-primary)}.toh-table-section{margin-bottom:2rem}.toh-table-section h3{font-size:1rem;font-weight:700;margin-bottom:.75rem}.toh-table{border-collapse:collapse;font-size:.85rem;width:100%}.toh-table td,.toh-table th{border:1px solid var(--border-color);padding:.65rem 1rem;text-align:center}.toh-table th{background:#ffffff0a;color:var(--text-secondary);font-size:.8rem;font-weight:600}.toh-table td{color:var(--text-primary);font-weight:600}.toh-active-col{background:#00b50914!important;color:var(--primary-color)!important}@media (max-width:768px){.toh-page{padding:2rem 1rem}.toh-title{font-size:1.5rem}.toh-controls{align-items:stretch;flex-direction:column}.toh-actions,.toh-disc-selector,.toh-speed-selector{justify-content:center}.toh-stats{grid-template-columns:repeat(2,1fr)}.toh-peg-area{min-height:200px}.toh-peg-stack{height:180px}.toh-peg-rod{height:150px}.toh-disc{font-size:.6rem;height:20px}.toh-info-section{grid-template-columns:1fr}}@media (max-width:480px){.toh-board{gap:.25rem;padding:1rem .25rem .25rem}.toh-peg-area{padding:.25rem}}.admin-page{margin:0 auto;max-width:1280px;padding:1.5rem 1.5rem 4rem}.admin-back-link{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.85rem;font-weight:500;gap:.25rem;margin-bottom:.75rem;text-decoration:none;transition:color .15s}.admin-back-link:hover{color:var(--primary-color);text-decoration:none}.admin-header{margin-bottom:1.5rem}.admin-header-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.admin-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.admin-header p{color:var(--text-secondary);font-size:.95rem}.admin-toggle-all{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;margin-top:.35rem;padding:.35rem .75rem;transition:all .15s;white-space:nowrap}.admin-toggle-all:hover{border-color:var(--primary-color);color:var(--primary-color)}.admin-collapsible{align-items:center;cursor:pointer;display:flex;gap:.5rem;-webkit-user-select:none;user-select:none}.admin-collapsible:hover{color:var(--primary-color)}.admin-collapse-arrow{color:var(--text-secondary);font-size:.75rem;text-align:center;transition:color .15s;width:1rem}.admin-collapsible:hover .admin-collapse-arrow{color:var(--primary-color)}.admin-denied,.admin-error,.admin-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh;text-align:center}.admin-loading .spinner{animation:admin-spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-error{color:var(--error-color)}.admin-error button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.25rem}.admin-error button:hover{background:var(--primary-hover)}.admin-denied h2{color:var(--error-color);font-size:1.5rem}.admin-denied p{color:var(--text-secondary)}.admin-summary-section{margin-bottom:1.25rem;margin-top:1.25rem}.admin-summary-heading{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem;padding-bottom:.4rem;text-transform:uppercase}.admin-summary{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:0}.admin-stat-card{background:#ffffff08;border:none;border-radius:8px;display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem}.admin-stat-card .stat-label{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-stat-card .stat-value{color:var(--primary-color);font-size:1.5rem;font-weight:700;line-height:1.15}.admin-stat-card .stat-sub{color:var(--text-secondary);font-size:.75rem}.admin-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.admin-search{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:.9rem;min-width:200px;outline:none;padding:.6rem 1rem;transition:border-color .2s}.admin-search::placeholder{color:var(--text-secondary)}.admin-search:focus{border-color:var(--primary-color)}.admin-student-count{color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.admin-table-wrapper{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:.9rem;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--border-color);padding:.75rem 1rem;text-align:left;white-space:nowrap}.admin-table th{background:#0a0a0a;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.04em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;z-index:1}.admin-table th:hover{color:var(--primary-color)}.admin-table th .sort-arrow{font-size:.7rem;margin-left:.35rem;opacity:.5}.admin-table th .sort-arrow.active{color:var(--primary-color);opacity:1}.admin-table tbody tr{transition:background-color .15s}.admin-table tbody tr:hover{background:#00b5090a}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr.expanded{background:#00b5090f}.admin-progress-cell{align-items:center;display:flex;gap:.5rem}.admin-progress-bar{background:var(--border-color);border-radius:3px;flex-shrink:0;height:6px;overflow:hidden;width:60px}.admin-progress-fill{border-radius:3px;height:100%;transition:width .3s}.admin-progress-fill.green{background:var(--primary-color)}.admin-progress-fill.yellow{background:var(--warning-color)}.admin-progress-fill.red{background:var(--error-color)}.admin-progress-fill.gray{background:var(--text-secondary)}.admin-progress-pct{font-size:.85rem;font-weight:600;min-width:36px}.admin-expand-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;height:28px;justify-content:center;transition:all .15s;width:28px}.admin-expand-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.admin-detail-row td{border-bottom:1px solid var(--border-color);padding:0}.admin-detail-content{grid-gap:1rem;background:#0a0a0a;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:1.25rem 1.5rem}.admin-detail-item{display:flex;flex-direction:column;gap:.15rem}.admin-detail-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.admin-detail-value{color:var(--text-primary);font-size:.95rem;font-weight:500}.game-summary-cell{color:var(--primary-color);font-weight:600}.admin-game-detail{background:#0f0f0f;border-top:1px solid var(--border-color);padding:1rem 1.5rem}.admin-game-detail-header{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.admin-game-modes{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.admin-game-mode-title{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.4rem;text-transform:uppercase}.admin-game-levels{display:flex;flex-wrap:wrap;gap:.5rem}.admin-game-levels span{background:#1a1a1a;border:1px solid var(--border-color);border-radius:6px;font-size:.82rem;padding:.25rem .6rem}.admin-game-levels .level-done{border-color:var(--primary-color);color:var(--primary-color)}.admin-game-levels .level-not{color:var(--text-secondary)}.admin-missed-section{margin-bottom:2.5rem}.admin-missed-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.admin-missed-sub{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.admin-missed-table-wrapper{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;overflow-x:auto}.admin-missed-table th{cursor:default!important}.admin-missed-table th:hover{color:var(--text-secondary)!important}.admin-missed-detail,.admin-missed-detail-row>td{color:#111827;white-space:normal}.admin-missed-detail{overflow-wrap:anywhere;word-break:normal}.admin-missed-detail pre{white-space:pre-wrap;word-break:break-word}.admin-exam-badge{background:#00b5091a;border:1px solid #00b50933;border-radius:6px;color:var(--primary-color);display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.exam-avg-cell{font-weight:600}.exam-avg-cell.pass{color:var(--primary-color)}.exam-avg-cell.fail{color:var(--error-color)}.admin-exam-detail{background:#0f0f0f;border-top:1px solid var(--border-color);padding:1rem 1.5rem}.admin-exam-detail-header{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.admin-exam-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(5,1fr)}.admin-exam-item{background:#1a1a1a;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .8rem}.admin-exam-item.pass{border-color:#00b5094d}.admin-exam-item.fail{border-color:#ef44444d}.admin-exam-item.not-taken{opacity:.5}.admin-exam-num{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-exam-score{color:var(--text-primary);font-size:.85rem;font-weight:600}.admin-exam-latest{color:var(--text-secondary);font-size:.75rem}.tracing-summary-cell{align-items:center;display:flex;font-weight:600;gap:.35rem}.tracing-summary-cell.pass{color:var(--primary-color)}.tracing-summary-cell.fail{color:var(--error-color)}.tracing-sub{color:var(--text-secondary);font-size:.7rem;font-weight:400}.admin-tracing-detail{background:#0f0f0f;border-top:1px solid var(--border-color);padding:1rem 1.5rem}.admin-tracing-detail-header{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.admin-tracing-breakdown{display:flex;flex-wrap:wrap;gap:.5rem}.admin-tracing-topic{align-items:center;background:#1a1a1a;border:1px solid var(--border-color);border-radius:6px;display:flex;font-size:.82rem;gap:.4rem;padding:.25rem .6rem}.admin-tracing-topic-name{color:var(--text-secondary);text-transform:capitalize}.admin-tracing-topic-score{color:var(--text-primary);font-weight:600}.admin-no-data{color:var(--text-secondary);padding:3rem 1rem;text-align:center}.admin-seats-form{margin-bottom:.5rem}.admin-seats-search{position:relative}.admin-seats-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;left:0;margin-top:4px;max-height:240px;overflow-y:auto;position:absolute;top:100%;width:400px;z-index:10}.admin-seats-result-item{background:none;border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:.1rem;padding:.6rem 1rem;text-align:left;transition:background .15s;width:100%}.admin-seats-result-item:last-child{border-bottom:none}.admin-seats-result-item:hover{background:#00b50914}.admin-seats-result-name{font-size:.9rem;font-weight:600}.admin-seats-result-email{color:var(--text-secondary);font-size:.8rem}.admin-seats-assign{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.admin-seats-selected{align-items:center;background:#00b50914;border:1px solid #00b50933;border-radius:8px;display:flex;gap:.5rem;padding:.5rem .75rem}.admin-seats-selected-name{color:var(--text-primary);font-weight:600}.admin-seats-selected-email{color:var(--text-secondary);font-size:.82rem}.admin-seats-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .25rem}.admin-seats-clear:hover{color:#fca5a5}.admin-seats-input-row{align-items:center;display:flex;gap:.5rem}.admin-seats-input-row label{color:var(--text-secondary);font-size:.85rem;font-weight:600;white-space:nowrap}.admin-seats-number{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;padding:.4rem .6rem;text-align:center;width:80px}.admin-seats-number:focus{border-color:var(--primary-color);outline:none}@media (max-width:768px){.admin-page{padding:1.25rem 1rem 3rem}.admin-header h1{font-size:1.35rem}.admin-summary{gap:.5rem;grid-template-columns:repeat(2,1fr)}.admin-stat-card{padding:.75rem .85rem}.admin-stat-card .stat-value{font-size:1.25rem}.admin-controls{align-items:stretch;flex-direction:column}.admin-table td,.admin-table th{font-size:.82rem;padding:.6rem .75rem}.admin-detail-content{grid-template-columns:repeat(2,1fr)}.admin-exam-list{grid-template-columns:repeat(3,1fr)}}.health-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;margin-right:6px;vertical-align:middle;width:10px}.admin-health-refresh{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;margin-left:auto;padding:.15rem .5rem;transition:color .15s,border-color .15s}.admin-health-refresh:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.health-warning-count{align-items:center;background:#ef4444;border-radius:10px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;height:20px;justify-content:center;line-height:1;margin-left:.5rem;min-width:20px;padding:0 6px}.health-warnings{border:1px solid #ef444426;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.health-warnings-header{background:#ef44440f;border-bottom:1px solid #ef44441a;color:#ef4444;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.5rem .85rem;text-transform:uppercase}.health-warning-item{align-items:flex-start;border-bottom:1px solid #ffffff0a;display:flex;gap:.6rem;padding:.6rem .85rem}.health-warning-item:last-child{border-bottom:none}.health-warning-badge{border-radius:4px;flex-shrink:0;font-size:.6rem;font-weight:700;margin-top:.15rem;padding:.12rem .4rem;white-space:nowrap}.health-warning-badge.warning{background:#eab30826;border:1px solid #eab3084d;color:#eab308}.health-warning-badge.critical{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}.health-warning-message{color:var(--text-primary);font-size:.82rem;font-weight:600;margin-bottom:.1rem}.health-warning-suggestion{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.health-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.health-range-btns{display:flex;gap:.25rem}.health-range-btn{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;font-weight:600;padding:.15rem .5rem;transition:all .15s}.health-range-btn.active,.health-range-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.health-range-btn.active{background:#00b5091a}.health-mini-chart{align-items:flex-end;background:#ffffff05;border-radius:6px;display:flex;gap:2px;height:50px;padding:4px}.health-mini-bar{border-radius:2px 2px 0 0;cursor:help;flex:1 1;min-width:2px;opacity:.75;transition:opacity .15s}.health-mini-bar:hover{opacity:1}.health-chart-hover-label{color:var(--primary-color);font-size:.75rem;font-weight:400;margin-left:.25rem}.admin-health-refresh:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.admin-detail-content,.admin-summary{grid-template-columns:1fr}.admin-exam-list{grid-template-columns:1fr 1fr}}.po-form{gap:1rem}.po-form,.po-row{display:flex;flex-direction:column}.po-row{gap:.5rem}.po-row-toggle{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:space-between}.po-toggle{border:1px solid #475569;border-radius:6px;display:inline-flex;overflow:hidden}.po-toggle-btn{background:#1e293b;border:0;border-right:1px solid #475569;color:#e2e8f0;cursor:pointer;font:inherit;font-weight:500;padding:.5rem 1rem}.po-toggle-btn:last-child{border-right:0}.po-toggle-btn:hover:not(.active){background:#334155}.po-toggle-btn.active{background:#2563eb;color:#fff}.po-row-inline{display:flex;flex-wrap:wrap;gap:1rem}.po-row-inline>label{flex:1 1;min-width:200px}.po-form label{color:#f1f5f9;display:flex;flex-direction:column;font-size:.9375rem;gap:.25rem}.po-form label>span{font-weight:600}.po-form input[type=date],.po-form input[type=email],.po-form input[type=number],.po-form input[type=text],.po-form select,.po-form textarea{background:#fff;border:1px solid #475569;border-radius:4px;color:#0f172a;color-scheme:light;font:inherit;font-size:1rem;padding:.5rem .625rem;width:100%}.po-form input::placeholder,.po-form textarea::placeholder{color:#475569;opacity:1}.po-form input:focus,.po-form select:focus,.po-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb59;outline:none}.po-form textarea{font-family:inherit;resize:vertical}.po-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:720px){.po-grid{grid-template-columns:1fr}}.po-fieldset{background:#ffffff08;border:1px solid #475569;border-radius:6px;display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:.75rem 1rem 1rem}.po-fieldset legend{color:#f1f5f9;font-size:.875rem;font-weight:700;letter-spacing:.75px;padding:0 .5rem;text-transform:uppercase}.po-lines{border-collapse:collapse;width:100%}.po-lines th{border-bottom:1px solid #475569;color:#f1f5f9;font-size:.8125rem;font-weight:700;letter-spacing:.5px;padding:.375rem .5rem;text-align:left;text-transform:uppercase}.po-lines td{vertical-align:middle}.po-lines td,.po-lines td input{padding:.375rem .5rem}.po-amount{font-feature-settings:"tnum";color:#f1f5f9;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.po-line-del{background:#1e293b;border:1px solid #475569;border-radius:4px;color:#cbd5e1;cursor:pointer;font:inherit;height:28px;line-height:1;padding:0;width:28px}.po-line-del:hover{background:#dc2626;border-color:#dc2626;color:#fff}.po-totals-preview{color:#f1f5f9;display:flex;flex-direction:column;font-size:.9375rem;gap:.25rem;margin-left:auto;min-width:240px;padding-top:.5rem}.po-totals-preview>div{display:flex;gap:1rem;justify-content:space-between}.po-total-grand{border-top:1px solid #64748b;font-size:1.0625rem;font-weight:700;padding-top:.5rem}.po-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.po-hint{color:#cbd5e1;font-size:.875rem}.admin-email-page{--text-primary:#111827;--text-secondary:#374151;--bg-primary:#fff;--bg-secondary:#f9fafb;--border-color:#e5e7eb;background:#fff;color:#111827;display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.admin-email-layout{display:flex;flex:1 1;overflow:hidden}.email-sidebar{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;gap:2px;min-width:200px;overflow-y:auto;padding:12px 8px;width:200px}.sidebar-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;text-align:left;transition:background .15s;width:100%}.sidebar-nav-item:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6)}.sidebar-nav-item.active{background:#16a34a;background:var(--primary-color,#16a34a);color:#fff}.sidebar-badge{background:#ef4444;background:var(--error-color,#ef4444);border-radius:9999px;color:#fff;font-size:11px;font-weight:700;margin-left:auto;min-width:18px;padding:1px 6px;text-align:center}.sidebar-divider{background:#e5e7eb;background:var(--border-color,#e5e7eb);height:1px;margin:8px 4px}.sidebar-action-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;margin-top:4px;padding:8px 12px;text-align:left;transition:all .15s;width:100%}.sidebar-action-btn:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6);color:#111827;color:var(--text-primary,#111827)}.sidebar-action-btn.primary{background:#16a34a;background:var(--primary-color,#16a34a);border-color:#16a34a;border-color:var(--primary-color,#16a34a);color:#fff}.sidebar-action-btn.primary:hover{opacity:.9}.email-list-panel{border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;min-width:280px;overflow:hidden;width:340px}.list-filter-bar{background:#fff;background:var(--bg-primary,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;gap:8px;padding:10px 12px}.list-filter-row{align-items:center;display:flex;gap:6px}.list-search-input{flex:1 1;font-size:13px;padding:6px 10px}.list-filter-select,.list-search-input{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;color:#111827;color:var(--text-primary,#111827)}.list-filter-select{cursor:pointer;font-size:12px;padding:6px 8px}.list-items{flex:1 1;overflow-y:auto}.list-empty{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px;padding:40px 20px;text-align:center}.ticket-card{background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background .12s}.ticket-card:hover{background:#f3f4f6}.ticket-card.selected{background:#eff6ff;border-left:3px solid #2563eb}.ticket-card.unread{background:#fefce8}.ticket-card.unread:hover{background:#fef9c3}.ticket-card.unread.selected{background:#eff6ff}.ticket-card-checkbox-wrap{align-items:flex-start;display:flex;padding-top:2px}.ticket-card-checkbox{cursor:pointer;height:15px;width:15px}.ticket-card-body{flex:1 1;min-width:0}.ticket-card-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.ticket-card-contact{align-items:center;color:#111827;display:inline-flex;font-size:13px;font-weight:600;gap:6px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-dot{background:#2563eb;border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.ticket-card.unread .ticket-card-contact,.ticket-card.unread .ticket-card-subject{font-weight:700}.ticket-card-time{color:#4b5563;font-size:11px;white-space:nowrap}.ticket-card-subject{color:#374151;font-size:13px;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.refresh-btn{background:#2563eb;border:none;color:#fff;padding:6px 12px;white-space:nowrap}.refresh-btn:hover:not(:disabled){background:#1d4ed8}.refresh-btn:disabled{opacity:.6}.unread-toggle{align-items:center;color:#374151;cursor:pointer;display:inline-flex;font-size:12px;gap:4px}.unread-toggle input{cursor:pointer;margin:0}.reply-mode-toggle{align-items:center;color:#374151;display:flex;font-size:12px;gap:10px;margin-bottom:6px}.reply-mode-toggle label{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.inbox-pill{background:#e5e7eb;border-radius:10px;color:#374151;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 8px;text-transform:lowercase}.inbox-pill.inbox-kevin{background:#dbeafe;color:#1e40af}.inbox-pill.inbox-info{background:#dcfce7;color:#166534}.inbox-pill.inbox-contact{background:#fef3c7;color:#92400e}.inbox-pill.inbox-support{background:#ede9fe;color:#5b21b6}.inbox-pill.inbox-sales{background:#fce7f3;color:#9d174d}.inbox-pill.inbox-hello{background:#cffafe;color:#155e75}.inbox-filter-chip{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:11px;font-weight:600;padding:3px 10px}.inbox-filter-chip:hover{background:#f3f4f6}.inbox-filter-chip.active{background:#2563eb;border-color:#2563eb;color:#fff}.inbox-filter-chip.inbox-kevin.active{background:#1e40af;border-color:#1e40af}.inbox-filter-chip.inbox-info.active{background:#166534;border-color:#166534}.inbox-filter-chip.inbox-contact.active{background:#92400e;border-color:#92400e}.inbox-filter-chip.inbox-support.active{background:#5b21b6;border-color:#5b21b6}.inbox-filter-chip.inbox-sales.active{background:#9d174d;border-color:#9d174d}.inbox-edit-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:4px 8px}.inbox-edit-btn:hover{background:#f3f4f6}.markup-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px;padding:4px 0}.markup-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#111827;cursor:pointer;font-size:13px;line-height:1.2;min-width:32px;padding:4px 10px}.markup-btn:hover{background:#f3f4f6;border-color:#9ca3af}.markup-btn:active{background:#e5e7eb}.contact-card{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);cursor:pointer;display:flex;gap:10px;padding:10px 14px;transition:background .12s}.contact-card:hover{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}.contact-card.selected{background:#f0fdf4;border-left:3px solid #16a34a;border-left:3px solid var(--primary-color,#16a34a)}.contact-card-checkbox{cursor:pointer;flex-shrink:0;height:15px;width:15px}.contact-card-avatar{align-items:center;background:#16a34a;background:var(--primary-color,#16a34a);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.contact-card-info{flex:1 1;min-width:0}.contact-card-name{color:#111827;font-size:13px;font-weight:600}.contact-card-email,.contact-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card-email{color:#4b5563;font-size:12px}.campaign-card{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);cursor:pointer;padding:12px 14px;transition:background .12s}.campaign-card:hover{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}.campaign-card.selected{background:#f0fdf4;border-left:3px solid #16a34a;border-left:3px solid var(--primary-color,#16a34a)}.campaign-card-subject{color:#111827;color:var(--text-primary,#111827);font-size:13px;font-weight:600;margin-bottom:4px}.campaign-stats-row{color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:12px;gap:12px}.campaign-stat{align-items:center;display:flex;flex-direction:column;gap:2px}.campaign-stat-value{color:#111827;color:var(--text-primary,#111827);font-size:14px;font-weight:700}.bulk-action-bar{align-items:center;background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1d4ed8;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;padding:6px 10px}.bulk-action-bar button{background:#fff;border:1px solid #93c5fd;border-radius:5px;color:#1d4ed8;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.bulk-action-bar button:hover{background:#dbeafe}.bulk-action-bar button.bulk-action-suppress{background:#fef3c7;border-color:#fcd34d;color:#92400e}.bulk-action-bar button.bulk-action-suppress:hover{background:#fde68a}.bulk-action-bar button.bulk-action-delete{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.bulk-action-bar button.bulk-action-delete:hover{background:#fecaca}.status-badge{border-radius:9999px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 7px;text-transform:uppercase}.status-badge.open{background:#dcfce7;color:#15803d}.status-badge.pending{background:#fef9c3;color:#854d0e}.status-badge.resolved{background:#f3f4f6;color:#6b7280}.status-badge.closed{background:#e5e7eb;color:#9ca3af}.status-badge.sending{background:#dbeafe;color:#1d4ed8}.status-badge.done{background:#e0e7ff;color:#3730a3}.status-badge.failed{background:#fee2e2;color:#b91c1c}.status-badge.cancelled{background:#f3f4f6;color:#6b7280}.priority-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.priority-dot.low{background:#9ca3af}.priority-dot.normal{background:#6b7280}.priority-dot.high{background:#f59e0b}.priority-dot.urgent{background:#ef4444}.email-detail-panel{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.detail-empty{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex:1 1;font-size:15px;justify-content:center}.ticket-meta-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 20px}.ticket-meta-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.ticket-meta-subject{color:#111827;flex:1 1;font-size:16px;font-weight:700}.ticket-meta-number{background:#f3f4f6;border-radius:10px;color:#4b5563;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.ticket-meta-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.meta-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer;font-size:13px;padding:5px 8px}.ticket-meta-contact{align-items:center;color:#374151;display:flex;font-size:13px;gap:6px}.ticket-meta-contact a{color:#2563eb;font-weight:600;text-decoration:none}.ticket-meta-contact a:hover{text-decoration:underline}.message-thread{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 20px}.message-bubble{border-radius:10px;box-sizing:border-box;font-size:14px;line-height:1.5;max-width:98%;padding:14px 18px;width:98%;word-break:break-word}.message-bubble.inbound{align-self:flex-start;background:#fff;border:1px solid #d1d5db;border-bottom-left-radius:3px;color:#111827}.message-bubble.outbound{align-self:flex-end;background:#dbeafe;border:1px solid #93c5fd;border-bottom-right-radius:3px;color:#0c2b57}.message-bubble.note{align-self:center;background:#fef9c3;border:1px dashed #eab308;color:#713f12;font-style:italic;max-width:90%;text-align:center}.message-bubble-meta{align-items:center;border-bottom:1px solid #00000014;color:#4b5563;display:flex;flex-wrap:wrap;font-size:12px;gap:10px;margin-bottom:8px;padding-bottom:6px}.message-bubble-from{color:#111827;font-weight:600}.message-bubble.outbound .message-bubble-from{color:#0c2b57}.message-bubble-time{color:#6b7280;font-size:11px;margin-left:auto}.message-body-text{color:inherit;white-space:pre-wrap;word-break:break-word}.message-html-toggle{background:none;border:none;color:#2563eb;cursor:pointer;font-size:12px;margin-top:8px;padding:0;text-decoration:underline}.message-html-actions{display:flex;flex-wrap:wrap;gap:14px}.message-html-toggle.load-images{background:#fffbeb;border:1px solid #fde68a;border-radius:4px;color:#b45309;padding:3px 8px;text-decoration:none}.message-html-toggle.load-images:hover{background:#fef3c7}.message-read-images-banner{align-items:center;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;color:#92400e;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.message-read-images-banner button{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.message-read-images-banner button:hover{background:#d97706}.message-html-iframe{background:#fff;border:1px solid #d1d5db;border-radius:4px;color-scheme:light;margin-top:6px;min-height:240px;width:100%}.reply-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:13px;margin-bottom:8px;padding:8px 10px}.compose-error-row,.reply-error{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.reply-error-action{background:#b91c1c;border:none;border-radius:5px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:4px 10px}.reply-error-action:hover:not(:disabled){background:#991b1b}.reply-error-action:disabled{cursor:not-allowed;opacity:.6}.reply-box{background:#fff;background:var(--bg-primary,#fff);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;gap:8px;padding:14px 20px}.reply-box-textarea{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;box-sizing:border-box;color:#111827;color:var(--text-primary,#111827);font-family:inherit;font-size:14px;min-height:90px;padding:10px 12px;resize:vertical;width:100%}.reply-box-textarea:focus{border-color:#16a34a;border-color:var(--primary-color,#16a34a);outline:none}.reply-box-actions{align-items:center;display:flex;gap:8px}.attachment-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.attachment-chip{align-items:center;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:6px;display:inline-flex;font-size:12px;gap:6px;max-width:320px;padding:4px 8px}.attachment-chip.not-archived{background:#f3f4f6;opacity:.75}.attachment-icon{flex-shrink:0;font-size:15px;line-height:1}.attachment-meta{display:flex;flex:1 1;flex-direction:column;min-width:0}.attachment-name{color:#111827;color:var(--text-primary,#111827);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-sub{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:11px;gap:6px}.attachment-size{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attachment-flag{background:#fef3c7;border-radius:3px;color:#b45309;font-size:10px;letter-spacing:.03em;padding:0 4px;text-transform:uppercase}.attachment-action{background:#0000;border:1px solid #0000;border-radius:4px;color:#4b5563;color:var(--text-secondary,#4b5563);cursor:pointer;flex-shrink:0;font-size:13px;padding:2px 6px}.attachment-action:hover{background:#e5e7eb;color:#111827;color:var(--text-primary,#111827)}.attachment-picker{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.attachment-add-btn{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px dashed #d1d5db;border:1px dashed var(--border-color,#d1d5db);border-radius:6px;color:#4b5563;color:var(--text-secondary,#4b5563);cursor:pointer;font-size:13px;padding:6px 12px}.attachment-add-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;color:#111827;color:var(--text-primary,#111827)}.attachment-add-btn:disabled{cursor:not-allowed;opacity:.5}.attachment-picker-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.attachment-picker-chip{align-items:center;background:#fff;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:999px;display:inline-flex;font-size:12px;gap:6px;max-width:280px;padding:3px 6px 3px 8px}.attachment-picker-chip .attachment-name{max-width:160px}.attachment-picker-remove{background:#0000;border:none;border-radius:50%;color:#6b7280;cursor:pointer;font-size:14px;height:18px;line-height:1;padding:0;width:18px}.attachment-picker-remove:hover{background:#fee2e2;color:#991b1b}.attachment-picker-total{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px}.reply-btn{border:none;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:opacity .15s}.reply-btn:disabled{cursor:not-allowed;opacity:.5}.reply-btn.send{background:#16a34a;background:var(--primary-color,#16a34a);color:#fff}.reply-btn.note{background:#fef9c3;border:1px solid #fde68a;color:#854d0e}.reply-btn.todo{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.rich-editor{background:#fff;border:1px solid #d1d5db;border-radius:7px;color:#111827;font-size:14px;line-height:1.5;max-height:300px;min-height:120px;outline:none;overflow-y:auto;padding:10px 12px}.rich-editor:focus{border-color:#16a34a;border-color:var(--primary-color,#16a34a)}.rich-editor:empty:before{color:#9ca3af;content:attr(data-placeholder);pointer-events:none}.rich-editor a{color:#2563eb;text-decoration:underline}.rich-editor ol,.rich-editor ul{margin:6px 0;padding-left:24px}.rich-editor h3{color:#111827;font-size:16px;margin:6px 0}.message-bubble.todo{align-self:center;background:#eff6ff;border:1px solid #bfdbfe;max-width:80%}.message-bubble.todo.done{background:#f3f4f6;border-color:#e5e7eb}.todo-row{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.todo-text{color:#111827;white-space:pre-wrap;word-break:break-word}.todo-text.done{color:#6b7280;text-decoration:line-through}.todo-card{align-items:flex-start;background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:10px;padding:10px 14px}.todo-card:hover{background:#f9fafb}.todo-card.done{opacity:.7}.todo-delete-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:2px 8px}.todo-delete-btn:hover{background:#fee2e2;color:#b91c1c}.todo-card-body{flex:1 1;min-width:0}.todo-card-text{color:#111827;font-size:13px;line-height:1.4;margin-bottom:4px}.todo-card-text.done{color:#6b7280;text-decoration:line-through}.todo-card-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:11px;gap:6px}.todo-card-subject{color:#374151;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-card-time{margin-left:auto}.ticketize-btn{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1e40af!important;cursor:pointer}.resolve-btn{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important;cursor:pointer}.spam-btn{background:#fffbeb!important;border-color:#fde68a!important;color:#b45309!important;cursor:pointer}.unspam-btn{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1e40af!important;cursor:pointer}.block-btn,.delete-btn{background:#fef2f2!important;border-color:#fecaca!important;color:#b91c1c!important;cursor:pointer}.delete-forever-btn{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important;cursor:pointer}.restore-btn{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important;cursor:pointer}.reply-from-label{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:inline-flex;font-size:12px;gap:6px;margin-right:12px}.reply-from-select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:4px;color:#111;color:var(--text-primary,#111);font-size:12px;max-width:260px;padding:3px 6px}.ticketized-chip{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;font-size:11px;font-weight:600;padding:2px 8px}.ticket-card-ticketize{align-self:flex-start;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#1e40af;cursor:pointer;font-size:14px;margin-left:6px;padding:3px 7px}.ticket-card-ticketize:hover{background:#eff6ff;border-color:#bfdbfe}.reply-hint{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;margin-left:auto}.contact-detail-panel{flex:1 1;overflow-y:auto;padding:20px}.contact-detail-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.contact-detail-avatar{align-items:center;background:#16a34a;background:var(--primary-color,#16a34a);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:52px;justify-content:center;width:52px}.contact-detail-name{color:#111827;font-size:18px;font-weight:700}.contact-detail-email{color:#4b5563;font-size:14px}.contact-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.contact-field label{color:#374151;display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.contact-field input,.contact-field textarea{background:#fff!important;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;box-sizing:border-box;color:#111827!important;color:#111827;color:var(--text-primary,#111827);font-family:inherit;font-size:13px;padding:7px 10px;width:100%}.contact-field textarea{min-height:70px;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{border-color:#16a34a;border-color:var(--primary-color,#16a34a);outline:none}.contact-field.full-width{grid-column:1/-1}.contact-save-btn{background:#16a34a;background:var(--primary-color,#16a34a);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:8px 18px}.contact-section-title{color:#111827;color:var(--text-primary,#111827);font-size:14px;font-weight:700;margin-bottom:8px;padding-bottom:6px}.contact-section-title,.contact-ticket-row{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb)}.contact-ticket-row{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 0}.contact-ticket-row:hover{color:#16a34a;color:var(--primary-color,#16a34a)}.contact-ticket-number{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;white-space:nowrap}.contact-ticket-subject{color:#111827;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-detail-panel{flex:1 1;overflow-y:auto;padding:20px}.campaign-detail-header{margin-bottom:16px}.campaign-detail-title{color:#111827;color:var(--text-primary,#111827);font-size:18px;font-weight:700;margin-bottom:8px}.campaign-detail-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.campaign-detail-stat{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:12px 16px}.campaign-detail-stat-value{color:#111827;color:var(--text-primary,#111827);font-size:20px;font-weight:700}.campaign-detail-stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.campaign-results-table{border-collapse:collapse;font-size:13px;width:100%}.campaign-results-table th{background:#f9fafb;background:var(--bg-secondary,#f9fafb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase}.campaign-results-table td,.campaign-results-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);padding:8px 10px}.campaign-results-table td{color:#111827;color:var(--text-primary,#111827)}.campaign-results-table tr:hover td{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}.check-icon{color:#16a34a;font-weight:700}.cross-icon{color:#9ca3af}.warn-icon{color:#ef4444}.email-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.email-modal{background:#fff;background:var(--bg-primary,#fff);border-radius:12px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.email-modal-wide,.email-modal.wide{max-width:720px}.audience-picker{display:flex;flex-direction:column;gap:6px;margin-top:4px}.audience-opt{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:7px 10px}.audience-opt.active{background:#f0fdf4;border-color:#16a34a}.audience-opt input[type=radio]{margin:0;width:auto}.audience-estimate{align-items:center;color:#374151;display:flex;font-size:13px;gap:6px;margin-top:10px}.audience-estimate-error{color:#b91c1c}.campaign-confirm-bar{align-items:center;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#111827;display:flex;font-size:13px;gap:10px;margin-top:4px;padding:10px 12px}.campaign-confirm-bar .modal-btn{font-size:13px;margin-left:auto;padding:6px 12px}.campaign-confirm-bar .modal-btn.danger{margin-left:0}.campaign-confirm-bar .modal-btn.danger,.modal-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.new-campaign-btn{background:#16a34a;border:1px solid #15803d;border-radius:6px;color:#fff!important;cursor:pointer;font-size:12px;font-weight:700;line-height:1.4;padding:5px 12px}.new-campaign-btn:hover{background:#15803d}.refresh-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827!important;cursor:pointer;font-size:12px;font-weight:600;line-height:1.4;padding:5px 10px}.refresh-btn:hover:not(:disabled){background:#f3f4f6}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.campaign-delete-btn{background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c!important;cursor:pointer;font-size:12px;font-weight:600;margin-left:auto;padding:5px 12px}.campaign-delete-btn:hover:not(:disabled){background:#fee2e2}.campaign-delete-btn:disabled{cursor:not-allowed;opacity:.5}.inbox-edit-wrap{align-items:center;display:inline-flex;position:relative}.inbox-clear-btn{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:14px;line-height:1;margin-left:2px;padding:0 4px}.inbox-clear-btn:hover{background:#fee2e2;color:#b91c1c}.admin-email-page .campaign-card-subject,.admin-email-page .campaign-detail-stat-value,.admin-email-page .campaign-detail-title,.admin-email-page .campaign-results-table td,.admin-email-page .campaign-stat-value,.admin-email-page .contact-section-title{color:#111827}.admin-email-page .campaign-detail-stat-label,.admin-email-page .campaign-results-table th{color:#374151}.admin-email-page .campaign-card-meta,.admin-email-page .campaign-card-meta *{color:#374151!important}.admin-email-page .campaign-card,.admin-email-page .campaign-card *,.admin-email-page .campaign-results-table td,.admin-email-page .campaign-results-table td *{color:#111827}.html-tabs{display:flex;gap:4px;margin-bottom:0}.html-tab{background:#f9fafb;border:1px solid #d1d5db;border-bottom:none;border-radius:6px 6px 0 0;color:#374151;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.html-tab.active{background:#fff;border-color:#d1d5db;color:#111827}.html-source{box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;padding:10px 12px;resize:vertical;width:100%}.html-preview,.html-source{background:#fff;border:1px solid #d1d5db;border-radius:0 6px 6px 6px;color:#111827;min-height:260px}.html-preview{max-height:480px;overflow:auto;padding:14px 16px}.html-preview img{height:auto;max-width:100%}.html-preview a{color:#1d4ed8}.html-preview-iframe{background:#fff;border:1px solid #d1d5db;border-radius:0 6px 6px 6px;box-sizing:border-box;display:block;height:480px;min-height:260px;width:100%}.tag-editor{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px 8px}.tag-editor-chip{align-items:center;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;color:#075985;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:2px 4px 2px 10px}.tag-editor-remove{background:none;border:none;color:#075985;cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.tag-editor-remove:hover{color:#dc2626}.tag-editor-input{background:#0000!important;border:none!important;color:#111827!important;flex:1 1;font-size:13px;min-width:140px;outline:none;padding:4px 2px!important}.email-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;padding:16px 20px}.email-modal-title{color:#111827;color:var(--text-primary,#111827);font-size:16px;font-weight:700}.email-modal-close{background:none;border:none;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:20px;line-height:1;padding:2px 6px}.email-modal-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:18px 20px}.email-modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.modal-field label{color:#111827;display:block;font-size:13px;font-weight:700;margin-bottom:5px}.modal-field input,.modal-field select,.modal-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:14px;padding:8px 10px;width:100%}.modal-field textarea{min-height:120px;resize:vertical}.modal-field input:focus,.modal-field textarea:focus{border-color:#16a34a;border-color:var(--primary-color,#16a34a);outline:none}.modal-btn{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:7px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:all .15s}.modal-btn.primary{background:#16a34a;background:var(--primary-color,#16a34a);border-color:#16a34a;border-color:var(--primary-color,#16a34a);color:#fff}.modal-btn:hover{opacity:.85}.modal-btn:disabled{cursor:not-allowed;opacity:.5}.recipient-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.recipient-label-row label{color:#111827;font-size:13px;font-weight:700}.recipient-toggles{display:flex;gap:10px}.recipient-toggle-btn{background:none;border:none;color:#16a34a;color:var(--primary-color,#16a34a);cursor:pointer;font-size:12px;font-weight:600;padding:2px 4px}.recipient-toggle-btn:hover{text-decoration:underline}.recipient-input-wrap{align-items:center;display:flex;position:relative}.recipient-input-wrap input{flex:1 1;padding-right:38px}.recipient-contacts-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.recipient-contacts-btn:hover{background:#f3f4f6}.contact-picker-list{border:1px solid #e5e7eb;border-radius:6px;margin-top:10px;max-height:320px;overflow-y:auto}.contact-picker-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 12px}.contact-picker-item:last-child{border-bottom:none}.contact-picker-item:hover{background:#f9fafb}.contact-picker-meta{display:flex;flex-direction:column;min-width:0}.contact-picker-name{color:#111827;font-weight:600}.contact-picker-email{color:#6b7280;font-size:12px}.contact-picker-empty{color:#6b7280;font-size:13px;padding:20px;text-align:center}.csv-drop-zone{border:2px dashed #e5e7eb;border:2px dashed var(--border-color,#e5e7eb);border-radius:8px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:14px;padding:28px 20px;text-align:center;transition:border-color .15s}.csv-drop-zone.drag-over,.csv-drop-zone:hover{border-color:#16a34a;border-color:var(--primary-color,#16a34a);color:#16a34a;color:var(--primary-color,#16a34a)}.import-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#15803d;font-size:13px;padding:10px 14px}.import-result.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.email-loading{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px;padding:40px;text-align:center}.spinner{animation:spin .7s linear infinite;border:2px solid #e5e7eb;border-top-color:#16a34a;border:2px solid var(--border-color,#e5e7eb);border-radius:50%;border-top-color:var(--primary-color,#16a34a);display:inline-block;height:18px;margin-right:6px;vertical-align:middle;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.list-pagination{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;gap:6px;justify-content:center;padding:10px}.page-btn{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:5px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;font-size:13px;padding:5px 10px}.page-btn.active{background:#16a34a;background:var(--primary-color,#16a34a);border-color:#16a34a;border-color:var(--primary-color,#16a34a);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.4}.tag-chip{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:9999px;color:#6b7280;color:var(--text-secondary,#6b7280)}.suppressed-badge,.tag-chip{font-size:11px;padding:2px 7px}.suppressed-badge{background:#fee2e2;border-radius:9999px;color:#b91c1c}.campaign-results-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px;padding:10px 16px}.campaign-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.campaign-filter-chip{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:9999px;color:#374151;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:3px 10px;transition:background .12s,border-color .12s}.campaign-filter-chip:hover{background:#f3f4f6}.campaign-filter-chip.active{background:#2563eb;border-color:#2563eb;color:#fff}.campaign-filter-chip.empty{opacity:.45}.chip-count{font-size:11px;font-weight:700;opacity:.75}.campaign-cleanup-actions{display:flex;flex-wrap:wrap;gap:8px}.cleanup-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .15s}.cleanup-btn:disabled{cursor:not-allowed;opacity:.6}.cleanup-btn.suppress{background:#fef3c7;color:#92400e}.cleanup-btn.suppress:hover:not(:disabled){background:#fde68a}.cleanup-btn.delete{background:#fee2e2;color:#b91c1c}.cleanup-btn.delete:hover:not(:disabled){background:#fecaca}.campaign-results-table tr.row-bounced td{background:#fff7f7}.campaign-results-table tr.row-warn td{background:#fffbeb}.campaign-results-table tr.row-selected td{background:#eff6ff}.campaign-link-stats{border-top:1px solid #e5e7eb;margin-top:8px}.campaign-link-stats-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#111827;font-size:13px;font-weight:600;padding:10px 16px}.contact-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.contact-action-row .contact-save-btn{margin-bottom:0}.contact-suppress-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:background .15s,border-color .15s}.contact-suppress-btn:hover{background:#f3f4f6}.contact-suppress-btn.active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.contact-delete-btn{background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:13px;font-weight:500;margin-left:auto;padding:8px 14px;transition:background .15s}.contact-delete-btn:hover:not(:disabled){background:#fee2e2}.contact-delete-btn:disabled{cursor:not-allowed;opacity:.6}.email-sidebar.collapsed{align-items:center;min-width:36px;padding:8px 4px;width:36px}.sidebar-collapse-btn{align-items:center;align-self:flex-end;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;margin-bottom:4px;transition:background .15s,color .15s;width:28px}.email-sidebar.collapsed .sidebar-collapse-btn{align-self:center;margin-bottom:0}.sidebar-collapse-btn:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6);color:#111827;color:var(--text-primary,#111827)}.message-expand-btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:13px;line-height:1;margin-left:auto;opacity:0;padding:0 2px;transition:opacity .15s,color .15s}.message-bubble:hover .message-expand-btn{opacity:1}.message-expand-btn:hover{color:#2563eb}.message-read-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.message-read-panel{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:780px;overflow:hidden;width:100%}.message-read-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;padding:14px 20px}.message-read-meta{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.message-read-from{color:#111827;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-read-time{color:#6b7280;font-size:12px}.message-read-close{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;line-height:1;transition:background .15s,color .15s;width:32px}.message-read-close:hover{background:#f3f4f6;color:#111827}.message-read-body{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.message-read-iframe{border:none;flex:1 1;min-height:400px;width:100%}.message-read-text{color:#111827;flex:1 1;font-size:14px;line-height:1.6;overflow-y:auto;padding:20px;white-space:pre-wrap}.lockdown-loading{color:var(--text-secondary);padding:3rem;text-align:center}.lockdown-error{background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;color:#ef4444;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.lockdown-back-btn{background:none;border:none;color:#00b509;color:var(--primary-color,#00b509);cursor:pointer;font-size:.9rem;margin-bottom:.5rem;padding:0}.lockdown-back-btn:hover{text-decoration:underline}.lockdown-status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.2rem .6rem;text-transform:uppercase}.lockdown-status-draft{background:#9ca3af26;color:#9ca3af}.lockdown-status-active{background:#00b50926;color:#00b509}.lockdown-status-closed{background:#dc262626;color:#ef4444}.lockdown-status-auto_submitted,.lockdown-status-submitted{background:#3b82f626;color:#3b82f6}.lockdown-status-in_progress{background:#f59e0b26;color:#f59e0b}.lockdown-status-paused{background:#dc262626;color:#ef4444}.lockdown-unpause-btn{background:#00b50926;border:1px solid #00b5094d;border-radius:4px;color:#00b509;cursor:pointer;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.2rem .6rem}.lockdown-unpause-btn:hover{background:#00b50940}.lockdown-builder{margin:2rem auto;max-width:700px;padding:0 1rem}.lockdown-builder-header h1{color:var(--text-primary);font-size:1.5rem;margin:.5rem 0 1.5rem}.lockdown-builder-form{display:flex;flex-direction:column;gap:1.25rem}.lockdown-field label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem}.lockdown-field input,.lockdown-field select{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:.6rem .75rem;width:100%}.lockdown-field input:focus,.lockdown-field select:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);outline:none}.lockdown-field.invalid .lockdown-classroom-picker,.lockdown-field.invalid .lockdown-topics,.lockdown-field.invalid input,.lockdown-field.invalid select{border:1px solid #ef4444;border-radius:8px}.lockdown-field.invalid label{color:#ef4444}.lockdown-field-error{color:#ef4444;display:block;font-size:.75rem;margin-top:.3rem}.lockdown-field input[type=date]::-webkit-calendar-picker-indicator,.lockdown-field input[type=datetime-local]::-webkit-calendar-picker-indicator,.lockdown-field input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1) brightness(1.4);opacity:.85}.lockdown-field input[type=date]::-webkit-calendar-picker-indicator:hover,.lockdown-field input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,.lockdown-field input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.lockdown-field-hint{color:var(--text-secondary);display:block;font-size:.75rem;line-height:1.4;margin-top:.3rem}.lockdown-field-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.lockdown-classroom-picker{display:flex;flex-wrap:wrap;gap:.5rem}.lockdown-classroom-check{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:inline-flex;font-size:.9rem;gap:0;padding:.5rem 1rem;transition:border-color .2s,background .2s,color .2s;-webkit-user-select:none;user-select:none}.lockdown-classroom-check:hover{border-color:#ffffff40;color:#fff;color:var(--text-primary,#fff)}.lockdown-classroom-check.active{background:#3b82f626;border-color:#3b82f6;color:#93c5fd}.lockdown-classroom-check input[type=checkbox]{display:none}.lockdown-student-picker{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;overflow:hidden}.lockdown-student-select-all{align-items:center;background:#ffffff05;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color,#ffffff1a);display:flex;justify-content:space-between;padding:.5rem .75rem}.lockdown-student-select-all label{align-items:center;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;-webkit-user-select:none;user-select:none;white-space:nowrap}.lockdown-student-count{color:#aaa;color:var(--text-secondary,#aaa);font-size:.7rem;white-space:nowrap}.lockdown-student-list{max-height:280px;overflow-y:auto;scrollbar-color:#ffffff1f #0000;scrollbar-width:thin}.lockdown-student-list::-webkit-scrollbar{width:6px}.lockdown-student-list::-webkit-scrollbar-track{background:#0000}.lockdown-student-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.lockdown-student-list::-webkit-scrollbar-thumb:hover{background:#fff3}.lockdown-checkbox-icon{align-items:center;background:#0000;border:1.5px solid #fff3;border-radius:4px;color:#0000;display:inline-flex;font-size:11px;height:18px;justify-content:center;min-width:18px;transition:all .15s;width:18px}.lockdown-student-check{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;font-size:.8rem;gap:.6rem;padding:.3rem .75rem;transition:background .15s;-webkit-user-select:none;user-select:none}.lockdown-student-check:hover{background:#ffffff08}.lockdown-student-check.active{color:#fff;color:var(--text-primary,#fff)}.lockdown-student-check.active .lockdown-checkbox-icon,.lockdown-student-select-all label.active .lockdown-checkbox-icon{background:#3b82f6;border-color:#3b82f6;color:#fff}.lockdown-student-name{flex:1 1;min-width:0}.lockdown-student-email{color:#666;color:var(--text-secondary,#666);font-size:.7rem;margin-left:.75rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lockdown-assigned-badge{background:#3b82f61f;border:1px solid #3b82f640;border-radius:999px;color:#60a5fa;font-size:.65rem;font-weight:600;padding:.1rem .5rem}.lockdown-topics{flex-wrap:wrap}.lockdown-topics,.lockdown-type-toggle{display:flex;gap:.5rem}.lockdown-type-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:2px solid #ffffff1a;border:2px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s}.lockdown-type-btn.active{background:#00b50926;border-color:#00b50980;color:#00b509}.lockdown-type-btn:hover{border-color:#00b509;border-color:var(--primary-color,#00b509)}.lockdown-topic-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.lockdown-topic-btn.active{background:#00b50926;border-color:#00b50966;color:#00b509}.lockdown-topic-btn:hover{border-color:#00b509;border-color:var(--primary-color,#00b509)}.lockdown-unit-group{background:#ffffff05;border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:10px;margin-top:.75rem;padding:.75rem .85rem .85rem}.lockdown-unit-group:first-of-type{margin-top:0}.lockdown-unit-group-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.55rem}.lockdown-unit-group-title{color:#38bdf8;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.lockdown-unit-group-toggle{background:#0000;border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;color:#cfd3dc;color:var(--text-secondary,#cfd3dc);cursor:pointer;font-size:.72rem;font-weight:600;padding:.25rem .6rem;transition:all .2s}.lockdown-unit-group-toggle:hover{border-color:#00b50980;color:#00b509}.lockdown-submit-btn{background:#00b509;background:var(--primary-color,#00b509);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:opacity .2s}.lockdown-submit-btn:hover{opacity:.9}.lockdown-submit-btn:disabled{cursor:not-allowed;opacity:.5}.lockdown-manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.lockdown-manager-header h3{color:var(--text-primary);font-size:1.25rem;margin:0}.lockdown-create-btn{background:#00b509;background:var(--primary-color,#00b509);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.lockdown-create-btn:hover{opacity:.9}.lockdown-classroom-select{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);font-size:.85rem;margin-bottom:1rem;padding:.5rem .75rem;width:100%}.lockdown-empty{color:var(--text-secondary);font-size:.9rem;padding:1.5rem;text-align:center}.lockdown-info-note{background:#38bdf80f;border:1px solid #38bdf833;border-radius:10px;color:var(--text-secondary);font-size:.8rem;gap:.65rem;margin-top:1.25rem;padding:.85rem 1rem}.lockdown-info-note,.lockdown-paywall-banner{align-items:flex-start;display:flex;line-height:1.55}.lockdown-paywall-banner{background:linear-gradient(135deg,#a855f71f,#ec489914);border:1px solid #a855f773;border-radius:12px;color:var(--text-primary);gap:.85rem;margin:0 0 1.25rem;padding:1rem 1.15rem}.lockdown-paywall-banner-icon{flex-shrink:0;font-size:1.4rem;margin-top:.05rem}.lockdown-paywall-banner-body{flex:1 1;min-width:0}.lockdown-paywall-banner-body strong{color:#c4b5fd;display:block;font-size:1rem;margin-bottom:.35rem}.lockdown-paywall-banner-body p{color:var(--text-secondary);font-size:.88rem;margin:0 0 .65rem}.lockdown-paywall-banner-cta{background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:999px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:.5rem .95rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.lockdown-paywall-banner-cta:hover{box-shadow:0 6px 18px #a855f759;transform:translateY(-1px)}.lockdown-info-icon{flex-shrink:0;font-size:1rem;margin-top:.05rem}.lockdown-info-content strong{color:#38bdf8}.lockdown-quiz-list{display:flex;flex-direction:column;gap:.75rem}.lockdown-quiz-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;padding:1rem 1.25rem}.lockdown-quiz-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.lockdown-quiz-card-header h4{color:var(--text-primary);font-size:1rem;margin:0}.lockdown-quiz-card-meta{color:var(--text-secondary);display:flex;font-size:.8rem;gap:1rem;margin-bottom:.75rem}.lockdown-quiz-card-password{align-items:center;display:flex;font-size:.8rem;gap:.5rem;margin-bottom:.75rem}.lockdown-password-label{color:var(--text-secondary)}.lockdown-password-value{background:#00b5091a;border:1px solid #00b50940;border-radius:4px;color:#4ade80;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;letter-spacing:.5px;padding:.15rem .5rem;-webkit-user-select:all;user-select:all}.lockdown-quiz-card-actions{display:flex;gap:.5rem}.lockdown-quiz-card-actions button{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.35rem .75rem;transition:all .2s}.lockdown-quiz-card-actions button:hover{border-color:#00b509;border-color:var(--primary-color,#00b509);color:#00b509;color:var(--primary-color,#00b509)}.lockdown-delete-btn{background:#ef44441a;border:1px solid #ef44444d!important;border-radius:6px;color:#ef4444!important;cursor:pointer;font-size:.85rem;padding:.4rem 1rem;transition:all .15s}.lockdown-delete-btn:hover{background:#ef4444;border-color:#ef4444!important;color:#fff!important}.lockdown-results{margin:2rem auto;max-width:1000px;padding:0 1rem}.lockdown-results-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.lockdown-results-header h1{color:var(--text-primary);flex:1 1;font-size:1.5rem;margin:0}.lockdown-results-controls{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:.6rem .9rem}.lockdown-results-controls-right{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-left:auto;min-width:0}.lockdown-results-controls .lockdown-quiz-card-password,.lockdown-results-controls .lockdown-quiz-card-visibility{margin-bottom:0}.lockdown-activate-btn{background:#00b5091a;border:1px solid #00b509;border:1px solid var(--primary-color,#00b509);border-radius:6px;color:#00b509;color:var(--primary-color,#00b509);cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .9rem;transition:all .15s;white-space:nowrap}.lockdown-activate-btn:hover{background:#00b509;background:var(--primary-color,#00b509);color:#000}.lockdown-close-btn{background:#fbbf241a;border:1px solid #fbbf2480;border-radius:6px;color:#fbbf24;cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .9rem;transition:all .15s;white-space:nowrap}.lockdown-close-btn:hover{background:#fbbf24;border-color:#fbbf24;color:#000}.lockdown-reactivate-btn{background:#00b5091a;border:1px solid #00b509;border:1px solid var(--primary-color,#00b509);border-radius:6px;color:#00b509;color:var(--primary-color,#00b509);cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .9rem;transition:all .15s;white-space:nowrap}.lockdown-reactivate-btn:hover{background:#00b509;background:var(--primary-color,#00b509);color:#000}.lockdown-refresh-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:all .15s;white-space:nowrap}.lockdown-refresh-btn:hover{border-color:#a855f780;color:#a855f7}.lockdown-edit-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:all .15s;white-space:nowrap}.lockdown-edit-btn:hover{border-color:#3b82f680;color:#60a5fa}.lockdown-summary-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.lockdown-summary-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;padding:1.25rem;text-align:center}.lockdown-summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.lockdown-summary-label{color:var(--text-secondary);font-size:.8rem;margin-top:.25rem}.lockdown-live-score{color:var(--text-secondary);font-size:.85em;font-style:italic}.lockdown-question-breakdown{margin-bottom:1.25rem}.lockdown-breakdown-toggle{background:none;border:1px solid #ffffff1a;border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.6rem 1rem;text-align:left;transition:background .15s;width:100%}.lockdown-breakdown-toggle:hover{background:#ffffff0a}.lockdown-missed-preview{color:var(--text-secondary);font-size:.82rem;font-weight:400;margin-left:.5rem}.lockdown-breakdown-body{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:10px;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.75rem}.lockdown-breakdown-row{grid-gap:.75rem;align-items:center;border-radius:6px;display:grid;gap:.75rem;grid-template-columns:1fr 120px 80px;padding:.4rem .6rem}.lockdown-breakdown-missed{background:#ef44440f;border:1px solid #ef444426}.lockdown-breakdown-label{align-items:center;display:flex;gap:.5rem;min-width:0}.lockdown-missed-badge{background:#ef4444;border-radius:4px;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.03em;padding:.15rem .4rem;text-transform:uppercase;white-space:nowrap}.lockdown-breakdown-qnum{color:var(--text-primary);font-size:.82rem;font-weight:700;white-space:nowrap}.lockdown-breakdown-qtext{color:var(--text-secondary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lockdown-breakdown-bar-wrap{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.lockdown-breakdown-bar{border-radius:4px;height:100%;transition:width .3s}.lockdown-breakdown-pct{font-size:.82rem;font-weight:700;text-align:right;white-space:nowrap}.lockdown-breakdown-row-clickable{cursor:pointer}.lockdown-breakdown-row-clickable:hover{background:#ffffff0a}.lockdown-breakdown-row-expanded{border-bottom-left-radius:0;border-bottom-right-radius:0}.lockdown-breakdown-chevron{color:var(--text-secondary);font-size:.7rem;margin-left:.4rem}.lockdown-question-detail{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff14;border-radius:0 0 6px 6px;border-top:none;margin-bottom:.4rem;padding:1rem 1rem .75rem}.lockdown-qd-question{color:var(--text-primary);font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.lockdown-qd-code{font-size:.82rem;margin-bottom:.75rem}.lockdown-qd-choices{display:flex;flex-direction:column;gap:.5rem}.lockdown-qd-choice{background:#ffffff05;border:1px solid #ffffff12;border-radius:6px;padding:.5rem .65rem}.lockdown-qd-correct{background:#22c55e0f;border-color:#22c55e59}.lockdown-qd-choice-header{align-items:center;display:flex;gap:.6rem;margin-bottom:.35rem}.lockdown-qd-choice-text{color:var(--text-primary);flex:1 1;font-size:.85rem}.lockdown-qd-correct-badge{background:#22c55e;border-radius:10px;color:#000;font-size:.65rem;font-weight:700;letter-spacing:.02em;padding:.1rem .45rem;white-space:nowrap}.lockdown-qd-choice-count{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.lockdown-qd-bar-wrap{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.lockdown-qd-bar{border-radius:3px;height:100%;transition:width .3s}.lockdown-qd-bar-correct{background:#22c55e}.lockdown-qd-bar-wrong{background:#fff3}.lockdown-breakdown-count{color:var(--text-secondary);font-size:.75rem;font-weight:400}.lockdown-results-table{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.lockdown-results-table th{background:#0f0f23;background:var(--bg-primary,#0f0f23);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;padding:.75rem 1rem;text-align:left;-webkit-user-select:none;user-select:none}.lockdown-results-table th:hover{color:#00b509;color:var(--primary-color,#00b509)}.lockdown-results-table td{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-color,#ffffff0f);color:var(--text-primary);font-size:.85rem;padding:.75rem 1rem}.lockdown-result-row{cursor:pointer;transition:background .15s}.lockdown-result-row:hover{background:#ffffff08}.lockdown-violations-warn{color:#f59e0b!important;font-weight:600}.lockdown-sort-select{background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;color:inherit;cursor:pointer;font-size:.8rem;padding:.2rem .4rem}.lockdown-sort-arrow{cursor:pointer;margin-left:.25rem;-webkit-user-select:none;user-select:none}.lockdown-not-started{background:#ffffff05;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;margin-top:1.5rem;padding:1rem}.lockdown-not-started h3{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;font-weight:600;margin:0 0 .75rem}.lockdown-not-started-list{display:flex;flex-wrap:wrap;gap:.4rem}.lockdown-not-started-student{background:#9ca3af1f;border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem;padding:.25rem .6rem}.lockdown-actions-cell{display:flex;flex-wrap:wrap;gap:.4rem}.lockdown-action-btn{background:#3b82f626;border:1px solid #3b82f64d;border-radius:6px;color:#60a5fa;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;white-space:nowrap}.lockdown-action-btn:hover{background:#3b82f640}.lockdown-reopen-btn{background:#a855f726;border-color:#a855f74d;color:#c084fc}.lockdown-reopen-btn:hover{background:#a855f740}.lockdown-force-submit-btn{background:#ef44441f;border-color:#ef44444d;color:#f87171}.lockdown-force-submit-btn:hover{background:#ef444438}.lockdown-inline-form-row td{background:#3b82f60d;padding:.5rem 1rem!important}.lockdown-inline-form{align-items:center;color:#ccc;color:var(--text-secondary,#ccc);display:flex;font-size:.85rem;gap:.5rem}.lockdown-inline-input{background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:.85rem;padding:.3rem .5rem;text-align:center;width:60px}.lockdown-inline-submit{background:#00b50933;border:1px solid #00b5094d;border-radius:6px;color:#4ade80;cursor:pointer;font-size:.8rem;padding:.3rem .75rem}.lockdown-inline-submit:hover{background:#00b50959}.lockdown-inline-cancel{background:#9ca3af26;border:1px solid #9ca3af33;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:.8rem;padding:.3rem .75rem}.lockdown-inline-cancel:hover{background:#9ca3af40}.lockdown-attempt-detail{padding:1rem}.lockdown-attempt-detail h4{color:var(--text-primary);font-size:1rem;margin:0 0 1rem}.lockdown-attempt-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.lockdown-attempt-detail-header h4{margin:0}.lockdown-edit-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.lockdown-score-override{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;gap:.35rem}.lockdown-edit-radios{color:#888;color:var(--text-secondary,#888);display:inline-flex;font-size:.8rem;gap:.75rem;margin-left:auto}.lockdown-edit-radios label{align-items:center;cursor:pointer;display:inline-flex;gap:.25rem}.lockdown-question-detail{border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;margin-bottom:.75rem;padding:1rem}.lockdown-question-detail.correct{border-left:3px solid #00b509}.lockdown-question-detail.incorrect{border-left:3px solid #ef4444}.lockdown-question-number{color:var(--text-primary);font-weight:700;margin-bottom:.5rem}.lockdown-correct{color:#00b509;font-weight:600}.lockdown-incorrect{color:#ef4444;font-weight:600}.lockdown-code-block{background:#0d1117;border:1px solid #ffffff14;border-radius:6px;color:#e6edf3;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6;margin:.5rem 0;overflow-x:auto;padding:1rem;white-space:pre}.lockdown-answer-row{color:var(--text-secondary);display:flex;font-size:.85rem;gap:1.5rem;margin-top:.5rem}.lockdown-params{font-size:.75rem;opacity:.6}.lockdown-trace-table{border-collapse:collapse;font-size:.8rem;margin-top:.75rem;width:100%}.lockdown-trace-table th{background:#ffffff0d;color:var(--text-secondary);font-weight:600;padding:.4rem .6rem;text-align:left}.lockdown-trace-table td{border-top:1px solid #ffffff0d;color:var(--text-primary);padding:.4rem .6rem}.lockdown-mcq-question-text{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:.95rem;line-height:1.6;margin:.5rem 0}.lockdown-mcq-result-options{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.lockdown-mcq-result-opt{align-items:center;background:#ffffff05;border:2px solid #ffffff14;border-radius:8px;display:flex;font-size:.9rem;gap:.75rem;padding:.6rem 1rem}.lockdown-mcq-result-opt .lockdown-mcq-letter{align-items:center;background:#ffffff14;border-radius:50%;display:flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.lockdown-mcq-result-opt.correct{background:#00b5091a;border-color:#00b50980}.lockdown-mcq-result-opt.correct .lockdown-mcq-letter{background:#00b5094d;color:#00b509}.lockdown-mcq-result-opt.wrong{background:#ef44441a;border-color:#ef444480}.lockdown-mcq-result-opt.wrong .lockdown-mcq-letter{background:#ef44444d;color:#ef4444}.lockdown-mcq-explanation{background:#00b5090d;border-left:3px solid #00b50980;border-radius:0 6px 6px 0;font-size:.9rem;line-height:1.5;margin:.75rem 0 0;padding:.75rem 1rem}.lockdown-banner{background:#f59e0b0a;border:1px solid #f59e0b26;border-left:3px solid #f59e0b;border-radius:8px;margin:0 0 .75rem;overflow:hidden}.lockdown-banner-header{align-items:center;background:#f59e0b0d;border-bottom:1px solid #ffffff0a;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .85rem;-webkit-user-select:none;user-select:none}.lockdown-banner-header h3{color:var(--text-primary);font-size:.82rem;font-weight:600;letter-spacing:.01em;margin:0}.lockdown-banner-badge{background:#f59e0b;border-radius:10px;color:#000;flex-shrink:0;font-size:.72rem;font-weight:700;height:20px;margin-left:.4rem;min-width:20px;padding:0 6px}.lockdown-banner-badge,.lockdown-banner-toggle{align-items:center;display:inline-flex;justify-content:center;line-height:1}.lockdown-banner-toggle{color:var(--text-secondary);font-size:1.1rem;font-weight:600;margin-left:auto;text-align:center;width:24px}.lockdown-banner-section{padding:.75rem 1rem}.lockdown-banner-section h4{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 .4rem;text-transform:uppercase}.lockdown-banner-section+.lockdown-banner-section{border-top:1px solid #ffffff14;margin-top:1.25rem;padding-top:1.25rem}.lockdown-banner-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.4rem;padding:.55rem .85rem}.lockdown-banner-item:last-child{margin-bottom:0}.lockdown-banner-item-highlight{animation:lockdownBannerFlash 2.2s ease-out;border-color:#00b509;box-shadow:0 0 0 2px #00b50966}@keyframes lockdownBannerFlash{0%{background:#00b50940}to{background:#ffffff08}}.lockdown-banner-item+.lockdown-banner-item{border-top:none}.lockdown-banner-info{align-items:center;display:flex;gap:.75rem}.lockdown-banner-info strong{color:var(--text-primary);font-size:.9rem}.lockdown-banner-class{color:var(--text-secondary);font-size:.8rem}.lockdown-banner-time{background:#f59e0b1a;border-radius:4px;color:#f59e0b;font-size:.75rem;padding:.15rem .5rem}.lockdown-banner-start{background:#00b50926;border:1px solid #00b5094d;border-radius:6px;color:#00b509;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:all .2s}.lockdown-banner-start:hover{background:#00b50940}.lockdown-banner-done{color:#00b509;font-size:.8rem;font-weight:600}.lockdown-score-hidden{color:var(--text-secondary);font-size:.8rem;font-style:italic}.lockdown-score-value{color:#00b509;color:var(--primary-color,#00b509);font-size:.85rem;font-weight:600}.lockdown-expand-icon{font-size:.7rem;margin-left:.25rem}.lockdown-banner-result.clickable{border-radius:6px;cursor:pointer;margin:0 -.5rem;padding:.6rem .5rem;transition:background .15s}.lockdown-banner-result.clickable:hover{background:#ffffff08}.lockdown-visibility-tag{color:var(--text-secondary);display:block;font-size:.7rem;font-weight:400;margin-top:.15rem}.lockdown-quiz-card-visibility{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.5rem;margin-bottom:.75rem}.lockdown-quiz-card-visibility label{font-weight:600;white-space:nowrap}.lockdown-quiz-card-visibility select{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-primary);font-size:.8rem;padding:.25rem .5rem}.lockdown-quiz-card-visibility select:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);outline:none}.lockdown-banner-paused{color:#ef4444;font-size:.8rem;font-weight:600}.lockdown-banner-questions{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0}.lockdown-banner-q{border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;padding:.75rem}.lockdown-banner-q.correct{border-left:3px solid #00b509}.lockdown-banner-q.incorrect{border-left:3px solid #ef4444}.lockdown-banner-q-header{align-items:center;color:var(--text-primary);display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;margin-bottom:.5rem}.lockdown-banner-q-answers{color:var(--text-secondary);display:flex;font-size:.8rem;gap:1.5rem;margin-top:.5rem}.lockdown-banner-q-explanation{background:#ffffff08;border-radius:6px;color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:.5rem 0 0;padding:.5rem .75rem}@media (max-width:768px){.lockdown-field-row,.lockdown-summary-cards{grid-template-columns:1fr}.lockdown-results-table{font-size:.8rem}.lockdown-banner-item{align-items:flex-start;flex-direction:column;gap:.5rem}}.coding-challenge-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.85rem}.coding-challenge-card{background:#ffffff05;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;padding:.65rem .85rem}.coding-challenge-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.coding-challenge-card-num{color:#38bdf8;font-size:.78rem;font-weight:700;letter-spacing:.04em;min-width:1.75rem}.coding-challenge-title-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;color:#e4e4e7;color:var(--text-primary,#e4e4e7);flex:1 1 auto;font-size:.9rem;min-width:12rem;padding:.35rem .55rem}.coding-challenge-title-input:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);outline:none}.coding-challenge-preview{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.82rem;line-height:1.4;margin-top:.4rem;padding-left:2.3rem;white-space:pre-wrap}.coding-challenge-edit{display:flex;flex-direction:column;gap:.45rem;margin-top:.65rem}.coding-challenge-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.coding-challenge-textarea{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:6px;color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-family:inherit;font-size:.88rem;line-height:1.5;min-height:6rem;padding:.55rem .7rem;resize:vertical;width:100%}.coding-challenge-textarea:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);outline:none}.coding-challenge-textarea-code{font-family:JetBrains Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;tab-size:4;white-space:pre}.assignment-loading{color:var(--text-secondary);padding:2rem;text-align:center}.assignment-error{background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;color:#ef4444;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.assignment-empty{color:var(--text-secondary);font-size:.9rem;padding:1rem 0}.assignment-pill{background:#ffffff0d;border:1px solid #ffffff26;border-radius:20px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;display:inline-block;font-size:.8rem;padding:.35rem .75rem;transition:all .15s ease}.assignment-pill:hover{border-color:#00b50966;color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.assignment-pill.active{background:#00b50926;border-color:#00b50980;color:#00b509}.assignment-manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.assignment-manager-header h3{color:var(--text-primary);font-size:1.25rem;margin:0}.assignment-create-btn{background:#00b509;background:var(--primary-color,#00b509);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.assignment-create-btn:hover{opacity:.9}.assignment-classroom-select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:var(--text-primary);font-size:.9rem;margin-bottom:1rem;padding:.5rem .75rem;width:100%}.assignment-edit-banner{background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;color:#60a5fa;font-size:.85rem;margin-bottom:1rem;padding:.6rem 1rem}.assignment-edit-banner strong{color:var(--text-primary)}.assignment-create-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.assignment-field{margin-bottom:1.25rem}.assignment-field label{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem}.assignment-field input[type=datetime-local],.assignment-field input[type=text]{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:.9rem;padding:.5rem .75rem;width:100%}.assignment-field input:focus{border-color:#00b50980;outline:none}.assignment-field.invalid .assignment-classroom-picker,.assignment-field.invalid .assignment-lesson-picker,.assignment-field.invalid .assignment-pill-grid,.assignment-field.invalid input{border:1px solid #ef4444;border-radius:8px}.assignment-field.invalid>label{color:#ef4444}.assignment-field-error{color:#ef4444;display:block;font-size:.75rem;margin-top:.3rem}.assignment-field input[type=date]::-webkit-calendar-picker-indicator,.assignment-field input[type=datetime-local]::-webkit-calendar-picker-indicator,.assignment-field input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1) brightness(1.4);opacity:.85}.assignment-field input[type=date]::-webkit-calendar-picker-indicator:hover,.assignment-field input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,.assignment-field input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.assignment-checkbox-label{align-items:center;color:#e2e8f0!important;color:var(--text-primary,#e2e8f0)!important;cursor:pointer;display:inline-flex!important;font-size:.9rem!important;font-weight:500!important;gap:.5rem;margin-bottom:0!important;-webkit-user-select:none;user-select:none}.assignment-checkbox-label input[type=checkbox]{accent-color:#00b509;cursor:pointer;height:1rem;width:1rem}.assignment-help-text{color:#a0aec0;color:var(--text-muted,#a0aec0);font-size:.75rem;line-height:1.4;margin-top:.35rem}.assignment-classroom-picker{display:flex;flex-wrap:wrap;gap:.5rem}.assignment-course-toggle{display:flex;gap:.5rem}.assignment-course-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:2px solid #ffffff1a;border:2px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .2s}.assignment-course-btn.active{background:#00b50926;border-color:#00b50980;color:#00b509}.assignment-course-btn:hover{border-color:#00b509;border-color:var(--primary-color,#00b509)}.assignment-pill-grid{display:flex;flex-wrap:wrap;gap:.4rem}.assignment-lesson-picker{display:flex;flex-direction:column;gap:.5rem}.assignment-module-group{border:1px solid #ffffff0f;border-radius:8px;overflow:hidden}.assignment-module-header{align-items:center;background:#ffffff08;display:flex;gap:.5rem;padding:.5rem .75rem}.assignment-module-expand{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.7rem;padding:0;width:1.2rem}.assignment-module-title{color:#e5e7eb;color:var(--text-primary,#e5e7eb);cursor:pointer;flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-select-all{flex-shrink:0;font-size:.7rem;padding:.2rem .55rem}.assignment-module-count{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.assignment-lesson-list{border-top:1px solid #ffffff0a;display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem}.assignment-ced-subgroup{border-top:1px solid #ffffff0a;padding:.4rem .75rem .5rem}.assignment-ced-subgroup-title{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.78rem;font-weight:600;margin-bottom:.35rem}.assignment-ced-subgroup .assignment-lesson-list{border-top:none;padding:0}.assignment-form-actions{display:flex;gap:.75rem;margin-top:1rem}.assignment-list{display:flex;flex-direction:column;gap:.75rem}.assignment-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;padding:1rem 1.25rem}.assignment-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.assignment-card-header h4{color:var(--text-primary);font-size:1rem;margin:0}.assignment-status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.2rem .6rem;text-transform:uppercase}.assignment-status-active{background:#00b50926;color:#00b509}.assignment-status-closed{background:#dc262626;color:#ef4444}.assignment-card-meta{color:var(--text-secondary);display:flex;font-size:.8rem;gap:1rem;margin-bottom:.75rem}.assignment-past-due{color:#ef4444!important}.assignment-card-items{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.assignment-item-tag{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#60a5fa;font-size:.7rem;padding:.2rem .5rem}.assignment-card-actions{display:flex;gap:.5rem}.assignment-card-actions button{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.35rem .75rem;transition:all .2s}.assignment-card-actions button:hover{border-color:#00b509;border-color:var(--primary-color,#00b509);color:#00b509;color:var(--primary-color,#00b509)}.assignment-delete-btn{color:#ef4444!important}.assignment-delete-btn:hover{border-color:#ef4444!important}.assignment-banner{background:#3b82f60a;border:1px solid #3b82f61a;border-left:3px solid #3b82f6;border-radius:8px;margin:0 0 .75rem;overflow:hidden}.assignment-banner-header{align-items:center;background:#3b82f60d;border-bottom:1px solid #ffffff0a;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem .85rem;-webkit-user-select:none;user-select:none}.assignment-banner-header h3{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.82rem;font-weight:600;letter-spacing:.01em;margin:0}.assignment-banner-badge{background:#ef4444;border-radius:10px;color:#fff;flex-shrink:0;font-size:.72rem;font-weight:700;height:20px;margin-left:.4rem;min-width:20px;padding:0 6px}.assignment-banner-badge,.assignment-banner-toggle{align-items:center;display:inline-flex;justify-content:center;line-height:1}.assignment-banner-toggle{color:var(--text-secondary);font-size:1.1rem;font-weight:600;margin-left:auto;text-align:center;width:24px}.assignment-banner-section{padding:.75rem 1rem}.assignment-banner-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;margin-bottom:.4rem;padding:.6rem .85rem}.assignment-banner-item:last-child{margin-bottom:0}.assignment-banner-item-highlight{animation:assignmentBannerFlash 2.2s ease-out;border-color:#38bdf8;border-color:var(--primary-color,#38bdf8);box-shadow:0 0 0 2px #38bdf866}@keyframes assignmentBannerFlash{0%{background:#38bdf840}to{background:#ffffff08}}.assignment-banner-item-header{align-items:center;display:flex;gap:.7rem;margin-bottom:.35rem}.assignment-banner-item-header strong{color:var(--text-primary);flex-shrink:0;font-size:.88rem}.assignment-banner-class{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.assignment-banner-due{font-size:.8rem;margin-bottom:.5rem}.assignment-banner-due.on-time{color:#00b509}.assignment-banner-due.past-due{color:#ef4444}.assignment-banner-due-inline{flex-shrink:0;font-size:.75rem;margin-left:auto;margin-right:.5rem}.assignment-banner-due-inline.on-time{color:#00b509}.assignment-banner-due-inline.past-due{color:#ef4444}.assignment-banner-expand-icon{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.assignment-banner-checklist{column-gap:1.5rem;column-rule:1px solid #ffffff14;column-width:240px;margin-top:.25rem}.assignment-banner-check{align-items:center;break-inside:avoid;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.5rem;padding:.15rem 0;page-break-inside:avoid}.assignment-banner-check a{color:#00b509;color:var(--primary-color,#00b509);text-decoration:none}.assignment-banner-check a.assignment-link-completed{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.assignment-banner-check a:hover{text-decoration:underline}.assignment-check-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.65rem;height:1.1rem;justify-content:center;width:1.1rem}.assignment-check-icon.done{background:#00b50933;color:#00b509}.assignment-check-icon.done.done-gold{background:#fbbf2438;box-shadow:0 0 6px #fbbf2459;color:#fbbf24}.assignment-check-icon.done.done-green{background:#10b98138;color:#10b981}.assignment-check-icon.done.done-amber{background:#f59e0b38;color:#f59e0b}.assignment-check-icon.done.done-red{background:#ef444438;color:#ef4444}.assignment-check-icon.pending{background:#ffffff0d;border:1px solid #ffffff26;color:#0000}.assignment-score-pill{background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.72rem;font-weight:700;margin-left:auto;padding:.12rem .5rem}.assignment-score-gold{background:#fbbf241f;border-color:#fbbf244d;color:#fbbf24}.assignment-score-green{background:#10b9811f;border-color:#10b9814d;color:#10b981}.assignment-score-amber{background:#f59e0b1f;border-color:#f59e0b4d;color:#f59e0b}.assignment-score-red{background:#ef44441f;border-color:#ef44444d;color:#ef4444}.assignment-banner-progress{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem}.assignment-progress-bar{background:#ffffff14;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.assignment-progress-fill{background:#00b509;border-radius:2px;height:100%;transition:width .3s ease}.assignment-late-badge{background:#dc26261f;border-radius:4px;color:#ef4444;display:inline-block;font-size:.65rem;font-weight:600;margin-left:.3rem;padding:.1rem .4rem;text-transform:uppercase}.assignment-results-section{margin-top:2rem}.assignment-results-section h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem}.assignment-result-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;margin-bottom:.75rem;overflow:hidden}.assignment-result-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background .15s}.assignment-result-header:hover{background:#ffffff05}.assignment-result-title{color:var(--text-primary);font-size:.9rem;font-weight:500}.assignment-result-meta{display:flex;gap:1rem}.assignment-result-expand,.assignment-result-meta{color:var(--text-secondary);font-size:.8rem}.assignment-result-body{overflow-x:auto;padding:0 1rem 1rem}.assignment-result-summary{color:var(--text-secondary);display:flex;font-size:.8rem;gap:1.5rem;margin-bottom:.75rem}.assignment-results-table{border-collapse:collapse;font-size:.8rem;min-width:500px;width:100%}.assignment-results-table td,.assignment-results-table th{border-bottom:1px solid #ffffff0d;padding:.4rem .6rem;text-align:left}.assignment-results-table th{color:var(--text-secondary);font-size:.75rem;font-weight:500;white-space:nowrap}.assignment-results-table td{color:var(--text-primary)}.assignment-cell-complete{color:#00b509}.assignment-cell-incomplete{color:var(--text-secondary);opacity:.5}.assignment-cell-partial{color:#f59e0b;font-size:.75rem;font-weight:600}.ab-gc-toggle{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:.65rem;margin:1rem 0 1.25rem;max-width:520px;padding:.85rem 1rem}.ab-gc-toggle input[type=checkbox]{accent-color:var(--primary-color);appearance:none;-webkit-appearance:none;background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1.5px solid #ffffff47;border-radius:4px;cursor:pointer;flex-shrink:0;height:1.15rem;margin:.1rem 0 0;position:relative;transition:background .12s ease,border-color .12s ease;width:1.15rem}.ab-gc-toggle input[type=checkbox]:checked,.ab-gc-toggle input[type=checkbox]:hover{border-color:#00b509;border-color:var(--primary-color,#00b509)}.ab-gc-toggle input[type=checkbox]:checked{background:#00b509;background:var(--primary-color,#00b509)}.ab-gc-toggle input[type=checkbox]:checked:after{border:solid #fff;border-width:0 .16rem .16rem 0;content:"";height:.6rem;left:.34rem;position:absolute;top:.05rem;transform:rotate(45deg);width:.3rem}.ab-gc-toggle input[type=checkbox]:focus-visible{outline:2px solid #00b509;outline:2px solid var(--primary-color,#00b509);outline-offset:2px}.ab-gc-toggle-label{display:flex;flex-direction:column;gap:.15rem;line-height:1.3}.ab-gc-toggle-title{color:var(--text-primary);font-size:.92rem;font-weight:500}.ab-gc-toggle-hint{color:var(--text-secondary);font-size:.78rem}.ab-gc-grading{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.6rem;margin:-.5rem 0 1.25rem;max-width:520px;padding:.85rem 1rem}.ab-gc-grading-title{color:var(--text-primary);font-size:.85rem;font-weight:600;margin-bottom:.15rem}.ab-gc-grading-row{align-items:flex-start;color:var(--text-primary);cursor:pointer;display:flex;font-size:.88rem;gap:.55rem;line-height:1.35}.ab-gc-grading-row input[type=radio]{accent-color:var(--primary-color);flex-shrink:0;margin:.2rem 0 0}.ab-gc-grading-row strong{display:block;font-weight:600}.ab-gc-grading-hint{color:var(--text-secondary);display:block;font-size:.78rem;margin-top:.1rem}.ab-gc-grading-threshold{align-items:center;display:flex;font-size:.85rem;gap:.5rem;margin-left:1.6rem}.ab-gc-grading-threshold input[type=number]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font:inherit;padding:.3rem .5rem;width:5rem}.assignment-passback-err,.assignment-passback-ok{border-radius:6px;font-size:.8rem;line-height:1.3;margin:.5rem .75rem;padding:.5rem .75rem}.assignment-passback-ok{background:#00b5091f;border:1px solid #00b50959;color:#00b509}.assignment-passback-err{background:#3b1111;border:1px solid #5c1a1a;color:#fca5a5}.assignment-delete-gc-warn{background:#fab4001a;border:1px solid #fab40059;border-radius:6px;color:#facc15;font-size:.85rem;line-height:1.35;margin:.5rem 0;padding:.5rem .75rem}.gc-topic-list{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0 .75rem;max-height:220px;overflow-y:auto}.gc-topic-row{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.88rem;padding:.4rem .6rem;text-align:left}.gc-topic-row-active,.gc-topic-row:hover{border-color:var(--accent-color)}.gc-topic-row-active{background:#00b50914}.gc-topic-create{display:flex;gap:.5rem;margin-top:.5rem}.gc-topic-create input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.85rem;padding:.4rem .6rem}.cm-page{color:var(--text-primary);margin:0 auto;max-width:1400px;padding:2rem 1.5rem 4rem}.cm-loading{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.cm-error{color:#fca5a5}.cm-error p{margin-bottom:1rem}.cm-page-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.cm-page-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:1.25rem}.cm-back-link{color:#0ea5e9;display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:.4rem;text-decoration:none}.cm-back-link:hover{color:#7dd3fc;text-decoration:underline}.cm-page-header h1{color:var(--text-primary);font-size:1.85rem;font-weight:800;margin:0 0 .35rem}.cm-page-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.cm-page-meta{color:var(--text-secondary);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.cm-page-meta strong{color:#7dd3fc;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1rem}.cm-legend{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1.25rem;list-style:none;margin:0;padding:0}.cm-legend li{align-items:center;display:flex;gap:.4rem}.cm-swatch{border:1px solid #ffffff1a;border-radius:3px;display:inline-block;height:14px;width:14px}.cm-section{margin-bottom:2.5rem}.cm-h2{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin:0 0 1rem}.cm-h2-sub{display:block;font-size:.85rem;font-weight:400;line-height:1.4;margin-top:.35rem}.cm-empty-hint,.cm-h2-sub{color:var(--text-secondary)}.cm-empty-hint{background:#ffffff08;border:1px dashed #ffffff1a;border-radius:8px;font-size:.9rem;line-height:1.55;padding:1.25rem 1rem}.cm-table-wrap{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;overflow-x:auto}.cm-heatmap,.cm-totable{border-collapse:initial;border-spacing:0;font-size:.85rem;width:100%}.cm-th{background:#0ea5e914;border-bottom:1px solid #ffffff1a;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:.65rem .6rem;text-align:left;text-transform:uppercase;white-space:nowrap}.cm-th-student{min-width:180px}.cm-th-topic{text-align:center}.cm-th-num{text-align:right}.cm-td{border-bottom:1px solid #ffffff0d;color:var(--text-primary);padding:.55rem .6rem}.cm-td-student{background:#131a13;background:var(--card-bg,#131a13);font-weight:500;left:0;position:-webkit-sticky;position:sticky;white-space:nowrap;z-index:1}.cm-td-classavg{background:#0ea5e914;color:#7dd3fc;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cm-heatmap tfoot td{border-top:1px solid #0ea5e940}.cm-cell{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0d;font-variant-numeric:tabular-nums;padding:.4rem .5rem;text-align:center}.cm-cell-pct{display:block;font-size:.85rem;font-weight:700;line-height:1.1}.cm-cell-frac{display:block;font-size:.7rem;margin-top:.1rem;opacity:.7}.cm-cell--low{background:#f8717138;color:#fecaca}.cm-cell--mid{background:#fbbf2433;color:#fde68a}.cm-cell--high{background:#84cc162e;color:#d9f99d}.cm-cell--top{background:#22c55e38;color:#bbf7d0}.cm-cell--empty{background:#ffffff05;color:var(--text-secondary)}.cm-cell--empty .cm-cell-frac{display:none}.cm-cell--avg{font-size:.9rem}.cm-totable .cm-td-quiz{font-weight:500}.cm-totable .cm-td-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.cm-totable .cm-td-mute{color:var(--text-secondary)}.cm-atrisk{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));list-style:none;margin:0;padding:0}.cm-atrisk-item{background:#f871710f;border:1px solid #f8717140;border-radius:10px;padding:1rem 1.1rem}.cm-atrisk-head{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.65rem}.cm-atrisk-head strong{color:var(--text-primary);font-size:.98rem}.cm-atrisk-count{color:#fca5a5;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cm-atrisk-topics{display:flex;flex-wrap:wrap;gap:.4rem}.cm-atrisk-chip{background:#f8717126;border:1px solid #f871714d;border-radius:999px;color:#fecaca;font-size:.75rem;padding:.2rem .55rem;white-space:nowrap}@media (max-width:700px){.cm-page{padding:1.25rem .75rem 3rem}.cm-page-header h1{font-size:1.5rem}.cm-th-student{min-width:140px}.cm-cell-pct{font-size:.8rem}.cm-cell-frac{font-size:.65rem}}:root{--course-csp-bg:#3b82f624;--course-csp-fg:#93c5fd;--course-csp-accent:#3b82f6;--course-csp-tint:#3b82f60d;--course-csa-bg:#ea580c29;--course-csa-fg:#fdba74;--course-csa-accent:#ea580c;--course-csa-tint:#ea580c0f}.lockdown-builder.builder-redesigned{max-width:880px}.builder-context-bar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;box-shadow:0 2px 12px #00000040;display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:0 0 1.25rem;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.builder-context-bar.course-csp{background:linear-gradient(180deg,#3b82f60d,#0000 70%),#1a1a2e;background:linear-gradient(180deg,var(--course-csp-tint),#0000 70%),var(--bg-secondary,#1a1a2e);border-color:#3b82f640}.builder-context-bar.course-csa{background:linear-gradient(180deg,#ea580c0f,#0000 70%),#1a1a2e;background:linear-gradient(180deg,var(--course-csa-tint),#0000 70%),var(--bg-secondary,#1a1a2e);border-color:#ea580c40}.builder-context-pills{display:flex;flex-wrap:wrap;gap:.4rem}.builder-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;letter-spacing:.02em;padding:.3rem .65rem;text-transform:uppercase;white-space:nowrap}.builder-pill-csp{background:#3b82f624;background:var(--course-csp-bg);border-color:#3b82f666;color:#93c5fd;color:var(--course-csp-fg)}.builder-pill-csa{background:#ea580c29;background:var(--course-csa-bg);border-color:#ea580c66;color:#fdba74;color:var(--course-csa-fg)}.builder-pill-type{background:#ffffff0f;border-color:#ffffff1f;color:#e5e7eb;color:var(--text-primary,#e5e7eb);letter-spacing:0;text-transform:none}.builder-pill-lock{background:#ffffff1a;border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:.05rem .4rem;text-transform:uppercase}.builder-context-meta{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.75rem;min-width:0}.builder-context-title{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:.95rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-context-empty{color:#888;color:var(--text-secondary,#888);font-style:italic;font-weight:400}.builder-context-chips{display:flex;flex-wrap:wrap;gap:.4rem}.builder-chip{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);display:inline-flex;font-size:.74rem;padding:.22rem .55rem;white-space:nowrap}.builder-chip-summary{background:#00b5091a;border-color:#00b50940;color:#4ade80;font-weight:600}.builder-chip-warn{background:#f59e0b1f;border-color:#f59e0b4d;color:#fbbf24}.builder-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.builder-section.has-selection{border-color:#00b50966;box-shadow:0 0 0 1px #00b5091a}.builder-section.has-selection.accent-csp{border-color:#3b82f673;box-shadow:0 0 0 1px #3b82f61f}.builder-section.has-selection.accent-csa{border-color:#ea580c73;box-shadow:0 0 0 1px #ea580c1f}.builder-section-header{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:.75rem 1rem;text-align:left;width:100%}.builder-section-header:hover{background:#ffffff05}.builder-section-titles{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.builder-section-title{color:#fff;color:var(--text-primary,#fff);font-size:.95rem;font-weight:600}.builder-section-subtitle{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;font-weight:400}.builder-section-count{align-items:center;background:#00b50926;border:1px solid #00b5094d;border-radius:999px;color:#4ade80;display:inline-flex;font-size:.72rem;font-weight:700;padding:.18rem .55rem;white-space:nowrap}.builder-section.accent-csp .builder-section-count{background:#3b82f624;background:var(--course-csp-bg);border-color:#3b82f659;color:#93c5fd;color:var(--course-csp-fg)}.builder-section.accent-csa .builder-section-count{background:#ea580c29;background:var(--course-csa-bg);border-color:#ea580c59;color:#fdba74;color:var(--course-csa-fg)}.builder-section-chevron{color:#aaa;color:var(--text-secondary,#aaa);display:inline-block;font-size:.7rem;transform:rotate(-90deg);transition:transform .15s}.builder-section-chevron.expanded{transform:rotate(0deg)}.builder-section-body{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-color,#ffffff0f);padding:.85rem 1rem 1rem}.builder-section-body>.lockdown-field:only-child{margin-bottom:0}.lockdown-type-btn.course-csp.active{background:#3b82f624;background:var(--course-csp-bg);border-color:#3b82f68c;color:#93c5fd;color:var(--course-csp-fg)}.lockdown-type-btn.course-csa.active{background:#ea580c29;background:var(--course-csa-bg);border-color:#ea580c8c;color:#fdba74;color:var(--course-csa-fg)}.lockdown-type-btn:disabled{cursor:not-allowed;opacity:.7}.builder-redesigned .lockdown-builder-form{gap:.85rem}.builder-redesigned .lockdown-builder-form>.lockdown-error+.lockdown-field,.builder-redesigned .lockdown-builder-form>.lockdown-field:first-of-type{margin-top:0}@media (max-width:720px){.builder-context-bar{align-items:stretch;flex-direction:column;gap:.5rem}.builder-context-meta{align-items:stretch;flex-direction:column;gap:.4rem}}.csa-code-editor{background:#0b1220;border:1px solid #ffffff1f;border-radius:8px;color:#e2e8f0;font-family:ui-monospace,SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,Courier New,monospace!important;font-size:.92rem;line-height:1.55;min-height:18rem;outline:none;overflow-wrap:normal;overflow-x:auto;padding:1rem;resize:vertical;tab-size:4;-moz-tab-size:4;transition:border-color .15s ease;white-space:pre;width:100%}.csa-code-editor:focus{border-color:#00b50980;box-shadow:0 0 0 3px #00b5091a}.csa-code-editor::placeholder{color:#94a3b8;font-family:inherit;font-style:italic}.csa-code-editor:read-only{background:#0a0f1a;opacity:.85}.frq-grading-prompt code,.frq-grading-prompt li code,.frq-grading-prompt pre,.frq-grading-solution,.frq-grading-solution code,.frq-grading-stub,.frq-grading-stub code,.frq-html-editor-preview code,.frq-html-editor-preview li code,.frq-html-editor-preview pre,.lockdown-frq-part-prompt code,.lockdown-frq-part-prompt li code,.lockdown-frq-part-prompt pre,.lockdown-frq-prompt code,.lockdown-frq-prompt li code,.lockdown-frq-prompt pre,.lockdown-frq-question code,.lockdown-frq-question li code,.lockdown-frq-question pre,.lockdown-frq-question pre code,.lockdown-frq-question td code,.lockdown-frq-stub pre,.lockdown-frq-stub pre code,.mc-frq-code,.mc-frq-code code,.mc-frq-part code,.mc-frq-part li code,.mc-frq-part pre,.mc-frq-prompt code,.mc-frq-prompt li code,.mc-frq-prompt pre,.mc-frq-question code,.mc-frq-question li code,.mc-frq-question pre,.mc-frq-solution,.mc-frq-solution code,.mc-frq-student-code{font-family:ui-monospace,SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,Courier New,monospace!important}:root{--frq-surface-1:#1a1a2e;--frq-surface-2:#0f0f23;--frq-surface-3:#ffffff0a;--frq-surface-elevated:#232342;--frq-text:var(--text-primary,#e4e4e7);--frq-text-muted:var(--text-secondary,#a1a1aa);--frq-text-faint:#6b7280;--frq-border:#ffffff1a;--frq-border-strong:#fff3;--frq-accent:#60a5fa;--frq-accent-bg:#3b82f626;--frq-accent-bg-strong:#3b82f640;--frq-accent-border:#3b82f64d;--frq-primary:#00b509;--frq-primary-bg:#00b50926;--frq-primary-border:#00b5094d;--frq-danger:#ef4444;--frq-danger-bg:#ef44441f;--frq-danger-border:#ef44444d;--frq-earned-bg:#22c55e1f;--frq-earned-border:#22c55e59;--frq-earned-text:#4ade80;--frq-code-bg:#0b1020;--frq-code-text:#e2e8f0;--frq-solution-bg:#052e24;--frq-solution-text:#d1fae5;--frq-warn-bg:#eab3081f;--frq-warn-text:#facc15}.frq-html-editor{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem}.frq-html-editor-pane{display:flex;flex-direction:column;min-width:0}.frq-html-editor-label{color:#a1a1aa;color:var(--frq-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.frq-html-editor-textarea{background:#0b1020;background:var(--frq-code-bg);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.5;min-height:8rem;padding:.6rem .75rem;resize:vertical;width:100%}.frq-html-editor-textarea:focus{outline:2px solid #60a5fa;outline:2px solid var(--frq-accent);outline-offset:-1px}.frq-html-editor-preview{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);font-size:.95rem;line-height:1.55;min-height:8rem;overflow:auto;padding:.75rem}.frq-html-editor-preview p:first-child{margin-top:0}.frq-html-editor-preview p:last-child{margin-bottom:0}.frq-html-editor-preview pre{background:#0b1020;background:var(--frq-code-bg);border-radius:4px;color:#e2e8f0;color:var(--frq-code-text);font-size:.85rem;overflow-x:auto;padding:.5rem}.frq-html-editor-preview code{background:#232342;background:var(--frq-surface-elevated);border-radius:3px;color:#e4e4e7;color:var(--frq-text);font-size:.85em;padding:.1rem .3rem}.frq-html-editor-preview a{color:#60a5fa;color:var(--frq-accent)}@media (max-width:880px){.frq-html-editor{grid-template-columns:1fr}}.frq-authoring{flex-direction:column;gap:1.5rem}.frq-authoring,.frq-authoring-header{color:#e4e4e7;color:var(--frq-text);display:flex}.frq-authoring-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border);justify-content:space-between;padding-bottom:.5rem}.frq-authoring-header h3{color:#e4e4e7;color:var(--frq-text);font-size:1.05rem;margin:0}.frq-authoring-total{color:#a1a1aa;color:var(--frq-text-muted);font-size:.9rem}.frq-authoring-total strong{color:#e4e4e7;color:var(--frq-text);font-size:1.05rem}.frq-authoring-empty{background:#ffffff0a;background:var(--frq-surface-3);border:1px dashed #fff3;border:1px dashed var(--frq-border-strong);border-radius:8px;color:#a1a1aa;color:var(--frq-text-muted);padding:1.5rem;text-align:center}.frq-authoring-question{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:10px;color:#e4e4e7;color:var(--frq-text);padding:1rem}.frq-authoring-q-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.frq-authoring-q-num{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.85rem;font-weight:700;padding:.2rem .6rem}.frq-authoring-part-label,.frq-authoring-q-title,.frq-authoring-q-topic,.frq-rubric-desc,.frq-rubric-pts,.frq-rubric-rules{background:#0f0f23;background:var(--frq-surface-2);color:#e4e4e7;color:var(--frq-text)}.frq-authoring-q-title{flex:1 1 14rem;font-size:.95rem}.frq-authoring-q-title,.frq-authoring-q-topic{border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;padding:.4rem .6rem}.frq-authoring-q-topic{font-size:.875rem;width:10rem}.frq-authoring-q-points{background:#ffffff0a;background:var(--frq-surface-3);border-radius:4px;color:#a1a1aa;color:var(--frq-text-muted);font-size:.85rem;padding:.25rem .55rem;white-space:nowrap}.frq-authoring-q-actions{display:flex;gap:.25rem}.frq-icon-btn{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px;color:#a1a1aa;color:var(--frq-text-muted);cursor:pointer;font-size:.9rem;padding:.2rem .45rem}.frq-icon-btn:hover:not(:disabled){background:#232342;background:var(--frq-surface-elevated);color:#e4e4e7;color:var(--frq-text)}.frq-icon-btn:disabled{cursor:not-allowed;opacity:.4}.frq-icon-danger:hover:not(:disabled){background:#ef44441f;background:var(--frq-danger-bg);border-color:#ef44444d;border-color:var(--frq-danger-border);color:#ef4444;color:var(--frq-danger)}.frq-authoring-shared{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);margin-bottom:.75rem;padding:.5rem .75rem .75rem}.frq-authoring-shared summary{cursor:pointer;font-size:.85rem;padding:.25rem 0}.frq-authoring-label,.frq-authoring-shared summary{color:#a1a1aa;color:var(--frq-text-muted);font-weight:600}.frq-authoring-label{display:block;font-size:.8rem;letter-spacing:.04em;margin:.75rem 0 .25rem;text-transform:uppercase}.frq-code-textarea{background:#0b1020;background:var(--frq-code-bg);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.5;padding:.6rem .75rem;resize:vertical;width:100%}.frq-code-textarea:focus{outline:2px solid #60a5fa;outline:2px solid var(--frq-accent);outline-offset:-1px}.frq-authoring-part{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border-left:3px solid #60a5fa;border:1px solid var(--frq-border);border-left:3px solid var(--frq-accent);border-radius:6px;color:#e4e4e7;color:var(--frq-text);margin-top:.75rem;padding:.75rem .9rem}.frq-authoring-part-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.frq-authoring-part-label{border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;flex:1 1 12rem;font-size:.95rem;font-weight:600;padding:.35rem .55rem}.frq-authoring-part-points{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.8rem;padding:.2rem .5rem;white-space:nowrap}.frq-authoring-rubric-block{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);margin-top:.75rem;padding:.6rem .75rem}.frq-authoring-rubric-header{align-items:center;color:#a1a1aa;color:var(--frq-text-muted);display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;margin-bottom:.5rem}.frq-authoring-rubric-row{grid-gap:.4rem;align-items:start;background:#1a1a2e;background:var(--frq-surface-1);display:grid;gap:.4rem;grid-template-columns:1fr 5rem auto auto auto;margin-bottom:.45rem;padding:.4rem}.frq-authoring-rubric-row,.frq-rubric-desc,.frq-rubric-pts{border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px}.frq-rubric-desc,.frq-rubric-pts{font-size:.875rem;padding:.3rem .5rem}.frq-rubric-pts{text-align:center}.frq-rubric-pts-label{align-self:center;color:#a1a1aa;color:var(--frq-text-muted);font-size:.8rem}.frq-authoring-rules{grid-column:1/-1}.frq-authoring-rules summary{color:#a1a1aa;color:var(--frq-text-muted);cursor:pointer;font-size:.78rem}.frq-rubric-rules{border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px;font-family:inherit;font-size:.85rem;margin-top:.25rem;padding:.4rem .55rem;width:100%}.frq-add-btn{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:6px;color:#60a5fa;color:var(--frq-accent);cursor:pointer;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.45rem .8rem}.frq-add-btn:hover{background:#3b82f640;background:var(--frq-accent-bg-strong)}.frq-add-btn-primary{background:#00b50926;background:var(--frq-primary-bg);border:1px solid #00b5094d;border:1px solid var(--frq-primary-border);color:#00b509;color:var(--frq-primary)}.frq-add-btn-primary:hover{background:#00b50940}.frq-pool{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:8px;margin-bottom:.75rem;padding:.75rem .9rem}.frq-pool-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;margin-bottom:.5rem}.frq-pool-header strong{color:#e4e4e7;color:var(--frq-text);font-size:.92rem}.frq-pool-sub{color:#a1a1aa;color:var(--frq-text-muted);flex:1 1 18rem;font-size:.78rem;text-align:right}.frq-pool-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.frq-pool-item{align-items:center;background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;display:flex;gap:.6rem;padding:.5rem .7rem}.frq-pool-info{flex:1 1;min-width:0}.frq-pool-title-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.frq-pool-title{color:#e4e4e7;color:var(--frq-text);font-size:.92rem;font-weight:600}.frq-pool-topic{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:999px;color:#60a5fa;color:var(--frq-accent);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.08rem .45rem;text-transform:uppercase;white-space:nowrap}.frq-pool-meta{color:#a1a1aa;color:var(--frq-text-muted);display:flex;flex-wrap:wrap;font-size:.78rem;gap:.55rem;margin-top:.2rem}.frq-pool-meta .frq-pool-pts{color:#e4e4e7;color:var(--frq-text);font-weight:600}.frq-pool-source{color:#6b7280;color:var(--frq-text-faint);font-style:italic}.frq-pool-add-btn{background:#00b50926;background:var(--frq-primary-bg);border:1px solid #00b5094d;border:1px solid var(--frq-primary-border);border-radius:6px;color:#00b509;color:var(--frq-primary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .75rem;white-space:nowrap}.frq-pool-add-btn:hover{background:#00b50940}.frq-pool-add-btn-added{background:#ffffff0a;background:var(--frq-surface-3);border-color:#ffffff1a;border-color:var(--frq-border);color:#a1a1aa;color:var(--frq-text-muted)}.frq-pool-add-btn-added:hover{background:#232342;background:var(--frq-surface-elevated);color:#e4e4e7;color:var(--frq-text)}.frq-bulk-paste{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:8px;margin-bottom:.75rem;padding:0}.frq-bulk-paste>summary{border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;list-style:none;padding:.7rem .9rem;-webkit-user-select:none;user-select:none}.frq-bulk-paste>summary::-webkit-details-marker{display:none}.frq-bulk-paste-summary-title{align-items:center;color:#e4e4e7;color:var(--frq-text);display:flex;font-size:.92rem;font-weight:600;gap:.4rem}.frq-bulk-paste-summary-title:before{color:#a1a1aa;color:var(--frq-text-muted);content:"▸";display:inline-block;flex:0 0 auto;line-height:1;transition:transform .12s ease}.frq-bulk-paste[open]>summary .frq-bulk-paste-summary-title:before{transform:rotate(90deg)}.frq-bulk-paste-summary-sub{color:#a1a1aa;color:var(--frq-text-muted);font-size:.78rem;margin-left:1.2rem}.frq-bulk-paste-body{border-top:1px solid #ffffff1a;border-top:1px solid var(--frq-border);display:flex;flex-direction:column;gap:.55rem;padding:0 .9rem .9rem}.frq-bulk-paste-help{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;margin-top:.7rem;padding:.6rem .75rem}.frq-bulk-paste-help-line{color:#e4e4e7;color:var(--frq-text);font-size:.83rem;line-height:1.45;margin:0 0 .55rem}.frq-bulk-paste-actions-top{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.frq-bulk-paste-hint{color:#a1a1aa;color:var(--frq-text-muted);flex:1 1 14rem;font-size:.76rem}.frq-bulk-paste-textarea{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;box-sizing:border-box;color:#e4e4e7;color:var(--frq-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.45;min-height:8rem;padding:.55rem .7rem;resize:vertical;width:100%}.frq-bulk-paste-textarea:focus{border-color:#60a5fa;border-color:var(--frq-accent);box-shadow:0 0 0 2px #3b82f626;box-shadow:0 0 0 2px var(--frq-accent-bg);outline:none}.frq-bulk-paste-status{border:1px solid;border-radius:6px;font-size:.83rem;padding:.5rem .7rem;white-space:pre-wrap}.frq-bulk-paste-status-error{background:#dc35451a;border-color:#dc354580;color:#b32437}.frq-bulk-paste-status-success{background:#00b5091a;border-color:#00b50980;color:#1a7a26}.frq-bulk-paste-actions{display:flex;flex-wrap:wrap;gap:.5rem}.lockdown-frq-question{color:#e4e4e7;color:var(--frq-text);margin:0 auto;max-width:1100px}.lockdown-frq-question code{background:#ffffff0f!important;border-radius:3px;color:#e4e4e7!important;color:var(--frq-text)!important;font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;font-size:.9em;padding:.05rem .3rem}.lockdown-frq-question pre,.lockdown-frq-question pre code,.lockdown-frq-stub pre,.lockdown-frq-stub pre code{background-color:#0b1020!important;background-color:var(--frq-code-bg)!important;color:#e2e8f0!important;color:var(--frq-code-text)!important}.lockdown-frq-question pre code,.lockdown-frq-stub pre code{background-color:initial!important}.lockdown-frq-question pre{background:#0b1020;background:var(--frq-code-bg);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;line-height:1.45;margin:.4rem 0;overflow-x:auto;padding:.7rem .85rem}.lockdown-frq-question pre code{background:#0000;border:0;border-radius:0;color:inherit;font-size:.9em;padding:0}.lockdown-frq-question table{border-collapse:collapse;font-size:.88em;margin:.5rem 0}.lockdown-frq-question table td,.lockdown-frq-question table th{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);color:#e4e4e7;color:var(--frq-text);padding:.35rem .55rem;text-align:left}.lockdown-frq-question table thead th{background:#232342;background:var(--frq-surface-elevated);font-weight:600}.frq-grading-prompt ol,.frq-grading-prompt ul,.frq-html-editor-preview ol,.frq-html-editor-preview ul,.lockdown-frq-part-prompt ol,.lockdown-frq-part-prompt ul,.lockdown-frq-prompt ol,.lockdown-frq-prompt ul,.lockdown-frq-question ol,.lockdown-frq-question ul,.mc-frq-part ol,.mc-frq-part ul,.mc-frq-prompt ol,.mc-frq-prompt ul{list-style-position:outside;margin:.4rem 0;padding-left:1.6rem}.frq-grading-prompt ul,.frq-html-editor-preview ul,.lockdown-frq-part-prompt ul,.lockdown-frq-prompt ul,.lockdown-frq-question ul,.mc-frq-part ul,.mc-frq-prompt ul{list-style-type:disc}.frq-grading-prompt ol,.frq-html-editor-preview ol,.lockdown-frq-part-prompt ol,.lockdown-frq-prompt ol,.lockdown-frq-question ol,.mc-frq-part ol,.mc-frq-prompt ol{list-style-type:decimal}.frq-grading-prompt ul ul,.lockdown-frq-prompt ul ul,.lockdown-frq-question ul ul,.mc-frq-prompt ul ul{list-style-type:circle;margin:.15rem 0 .25rem}.frq-grading-prompt li,.frq-html-editor-preview li,.lockdown-frq-part-prompt li,.lockdown-frq-prompt li,.lockdown-frq-question li,.mc-frq-part li,.mc-frq-prompt li{line-height:1.5;margin:.18rem 0}.lockdown-frq-question h3,.lockdown-frq-question h4{color:#e4e4e7;color:var(--frq-text);margin:.6rem 0 .25rem}.lockdown-frq-header{align-items:baseline;display:flex;gap:.75rem;margin-bottom:.5rem}.lockdown-frq-title{color:#e4e4e7;color:var(--frq-text);font-size:1.4rem;margin:0}.lockdown-frq-topic-pill{align-self:center;background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:999px;color:#60a5fa;color:var(--frq-accent);font-size:.78rem;font-weight:600;line-height:1.2;padding:.25rem .7rem;white-space:nowrap}.lockdown-frq-header{flex-wrap:wrap}.lockdown-frq-prompt{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:8px;color:#e4e4e7;color:var(--frq-text);line-height:1.6;margin-bottom:.75rem;padding:1rem 1.1rem}.lockdown-frq-prompt p:first-child{margin-top:0}.lockdown-frq-prompt p:last-child{margin-bottom:0}.lockdown-frq-prompt pre{background:#0b1020;background:var(--frq-code-bg);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);overflow-x:auto;padding:.75rem}.lockdown-frq-prompt code{background:#232342;background:var(--frq-surface-elevated);border-radius:3px;color:#e4e4e7;color:var(--frq-text);padding:.1rem .3rem}.lockdown-frq-prompt a{color:#60a5fa;color:var(--frq-accent)}.lockdown-frq-stub{margin-bottom:1rem}.lockdown-frq-stub-label{color:#a1a1aa;color:var(--frq-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.lockdown-frq-stub pre{background:#0b1020;background:var(--frq-code-bg);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);margin:0;overflow-x:auto;padding:.75rem}.lockdown-frq-part{border-top:1px solid #ffffff1a;border-top:1px solid var(--frq-border);margin-top:1.2rem;padding-top:1rem}.lockdown-frq-part-header{margin-bottom:.4rem}.lockdown-frq-part-label{color:#e4e4e7;color:var(--frq-text);font-size:1.1rem;margin:0}.lockdown-frq-part-prompt{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);line-height:1.55;margin-bottom:.5rem;padding:.6rem .75rem}.lockdown-frq-pending{background:#eab3081f;background:var(--frq-warn-bg);border:1px solid #eab30859;border-radius:6px;color:#facc15;color:var(--frq-warn-text);margin-top:1rem;max-width:30rem;padding:.75rem 1rem}.frq-grading{color:#e4e4e7;color:var(--frq-text);display:flex;flex-direction:column;gap:1.5rem}.frq-grading-empty{color:#a1a1aa;color:var(--frq-text-muted);padding:1rem}.frq-grading-question{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:10px;color:#e4e4e7;color:var(--frq-text);padding:.9rem 1rem}.frq-grading-q-header{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.frq-grading-q-num{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.85rem;font-weight:700;padding:.18rem .55rem}.frq-grading-q-title{color:#e4e4e7;color:var(--frq-text);font-weight:600}.frq-grading-q-topic{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:999px;color:#60a5fa;color:var(--frq-accent);font-size:.75rem;padding:.1rem .45rem}.frq-grading-q-score{background:#ffffff0a;background:var(--frq-surface-3);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px;color:#e4e4e7;color:var(--frq-text);font-size:.85rem;font-weight:600;margin-left:auto;padding:.2rem .55rem}.frq-grading-shared{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);margin-bottom:.7rem;padding:.4rem .7rem .6rem}.frq-grading-shared summary{color:#a1a1aa;color:var(--frq-text-muted);cursor:pointer;font-size:.85rem;font-weight:600}.frq-grading-prompt{color:#e4e4e7;color:var(--frq-text);line-height:1.55;padding:.5rem 0}.frq-grading-prompt code{background:#232342;background:var(--frq-surface-elevated);border-radius:3px;color:#e4e4e7;color:var(--frq-text);padding:.1rem .3rem}.frq-grading-stub{background:#0b1020;background:var(--frq-code-bg);border-radius:5px;color:#e2e8f0;color:var(--frq-code-text);margin:.4rem 0;overflow-x:auto;padding:.6rem}.frq-grading-part{border-top:1px solid #ffffff1a;border-top:1px solid var(--frq-border);margin-top:.9rem;padding-top:.7rem}.frq-grading-part-header{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.4rem}.frq-grading-part-label{color:#e4e4e7;color:var(--frq-text);font-size:1rem;font-weight:600}.frq-grading-part-score{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.82rem;font-weight:600;padding:.15rem .5rem}.frq-grading-save-pill{border:1px solid;border-radius:999px;font-size:.75rem;font-weight:600;margin-left:auto;padding:.1rem .5rem}.frq-save-saving{background:#eab3081f;background:var(--frq-warn-bg);border-color:#eab30859;color:#facc15;color:var(--frq-warn-text)}.frq-save-saved{background:#22c55e1f;background:var(--frq-earned-bg);border-color:#22c55e59;border-color:var(--frq-earned-border);color:#4ade80;color:var(--frq-earned-text)}.frq-save-error{background:#ef44441f;background:var(--frq-danger-bg);border-color:#ef44444d;border-color:var(--frq-danger-border);color:#ef4444;color:var(--frq-danger)}.frq-grading-split{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:1fr 1fr;margin-top:.5rem}@media (max-width:1080px){.frq-grading-split{grid-template-columns:1fr}}.frq-grading-col-label{color:#a1a1aa;color:var(--frq-text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:.3rem;text-transform:uppercase}.frq-grading-col-code .csa-code-editor{background:#0b1020;background:var(--frq-code-bg);border:1px solid #ffffff1a;border:1px solid var(--frq-border);color:#e2e8f0;color:var(--frq-code-text)}.frq-grading-solution-wrap{margin-top:.5rem}.frq-grading-solution-toggle{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);cursor:pointer;font-size:.85rem;font-weight:600;padding:.3rem .6rem}.frq-grading-solution-toggle:hover{background:#3b82f640;background:var(--frq-accent-bg-strong)}.frq-grading-solution{background:#052e24;background:var(--frq-solution-bg);border:1px solid #22c55e40;border-radius:5px;color:#d1fae5;color:var(--frq-solution-text);margin-top:.4rem;overflow-x:auto;padding:.7rem}.frq-grading-rubric-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.frq-grading-rubric-item{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);padding:.5rem .6rem}.frq-grading-rubric-item.earned{background:#22c55e1f;background:var(--frq-earned-bg);border-color:#22c55e59;border-color:var(--frq-earned-border);color:#4ade80;color:var(--frq-earned-text)}.frq-grading-rubric-label{align-items:flex-start;color:inherit;cursor:pointer;display:flex;gap:.45rem}.frq-grading-rubric-label input[type=checkbox]{accent-color:#00b509;accent-color:var(--frq-primary);cursor:pointer;margin-top:.2rem;transform:scale(1.15)}.frq-grading-rubric-desc{flex:1 1}.frq-grading-rubric-pts{color:#a1a1aa;color:var(--frq-text-muted);font-weight:600}.frq-grading-rubric-item.earned .frq-grading-rubric-pts{color:#4ade80;color:var(--frq-earned-text)}.frq-grading-rules{color:#a1a1aa;color:var(--frq-text-muted);font-size:.82rem;margin-left:1.5rem;margin-top:.3rem}.frq-grading-rules summary{color:#a1a1aa;color:var(--frq-text-muted);cursor:pointer}.frq-grading-rules ul{margin:.2rem 0;padding-left:1rem}.frq-grading-rubric-comment{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px;color:#e4e4e7;color:var(--frq-text);display:block;font-family:inherit;font-size:.85rem;margin-top:.4rem;padding:.4rem .55rem;resize:vertical;width:100%}.lockdown-frq-running-score{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:6px;color:#60a5fa;color:var(--frq-accent);font-size:.95rem;margin-left:auto;padding:.3rem .7rem}.frq-bulk{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:10px;color:#e4e4e7;color:var(--frq-text);margin-top:1rem;padding:1rem}.frq-bulk-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}.frq-bulk-header h3{color:#e4e4e7;color:var(--frq-text);font-size:1.05rem;margin:0}.frq-bulk-table-wrap{border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;max-height:70vh;overflow-x:auto}.frq-bulk-table{border-collapse:collapse;font-size:.82rem;width:100%}.frq-bulk-table td,.frq-bulk-table th{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);color:#e4e4e7;color:var(--frq-text);padding:.3rem .45rem;vertical-align:middle}.frq-bulk-table thead th{background:#232342;background:var(--frq-surface-elevated);color:#e4e4e7;color:var(--frq-text);font-weight:600;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:2}.frq-bulk-part-head{font-size:.8rem;line-height:1.15;padding:.4rem .5rem!important}.frq-bulk-part-head-q{color:#60a5fa;color:var(--frq-accent);font-weight:700}.frq-bulk-part-head-p{color:#a1a1aa;color:var(--frq-text-muted);font-size:.74rem;margin-top:.1rem}.frq-bulk-student-cell{font-weight:600;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frq-bulk-student-col{background:#232342!important;background:var(--frq-surface-elevated)!important;left:0;min-width:10rem;position:-webkit-sticky;position:sticky;text-align:left;z-index:1}.frq-bulk-table thead th.frq-bulk-student-col{z-index:3}.frq-bulk-rubric-th{max-width:8rem;min-width:3.4rem;padding-bottom:.35rem;padding-top:.35rem}.frq-bulk-rubric-th-pts{color:#e4e4e7;color:var(--frq-text);display:block;font-size:.78rem;font-weight:700}.frq-bulk-rubric-th-desc{color:#a1a1aa;color:var(--frq-text-muted);display:block;font-size:.7rem;font-weight:400;line-height:1.15;margin-top:.1rem;white-space:normal}.frq-bulk-check-cell{min-width:2.6rem;text-align:center}.frq-bulk-check-cell input[type=checkbox]{accent-color:#00b509;accent-color:var(--frq-primary);cursor:pointer;margin:0;transform:scale(1.2)}.frq-bulk-points-cell{min-width:4.5rem;text-align:center;width:4.5rem}.frq-bulk-points-input{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:4px;color:#e4e4e7;color:var(--frq-text);padding:.2rem .3rem;text-align:center;width:3.25rem}.frq-bulk-points-input:focus{outline:2px solid #60a5fa;outline:2px solid var(--frq-accent);outline-offset:-1px}.frq-bulk-total-cell{background:#ffffff0a!important;font-weight:700;text-align:center}.frq-bulk-grand-col{background:#232342!important;background:var(--frq-surface-elevated)!important;min-width:5rem;text-align:center}.frq-bulk-grand-total .frq-bulk-grand-pts{color:#e4e4e7;color:var(--frq-text);font-weight:700}.frq-bulk-grand-total .frq-bulk-grand-pct{color:#60a5fa;color:var(--frq-accent);font-size:.78rem;font-weight:600}.frq-bulk-saved-col{min-width:5.5rem;text-align:center}.frq-bulk-save-status{flex:1 1 18rem;font-size:.8rem}.frq-bulk-empty,.frq-bulk-save-status{color:#a1a1aa;color:var(--frq-text-muted)}.frq-bulk-empty{padding:.8rem;text-align:center}.frq-bulk-part-start{border-left:2px solid #ffffff2e!important}.frq-bulk-question-start{border-left:3px solid #60a5fa!important;border-left:3px solid var(--frq-accent)!important}.frq-bulk-table tbody tr:nth-child(2n) td{background:#ffffff05}.frq-bulk-table tbody tr:nth-child(2n) td.frq-bulk-grand-col,.frq-bulk-table tbody tr:nth-child(2n) td.frq-bulk-student-col{background:#232342!important;background:var(--frq-surface-elevated)!important}.frq-bulk-table tbody tr:nth-child(2n) td.frq-bulk-total-cell{background:#ffffff0f!important}.frq-bulk-table tbody tr:hover td{background:#60a5fa12}.frq-bulk-table tbody tr:hover td.frq-bulk-grand-col,.frq-bulk-table tbody tr:hover td.frq-bulk-student-col{background:#60a5fa24!important}.mc-frq-results{display:flex;flex-direction:column;gap:.85rem}.mc-frq-question{background:#1a1a2e;background:var(--frq-surface-1);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:8px;color:#e4e4e7;color:var(--frq-text);padding:.8rem 1rem}.mc-frq-q-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem}.mc-frq-q-num{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.85rem;font-weight:700;padding:.15rem .55rem}.mc-frq-q-title{color:#e4e4e7;color:var(--frq-text);font-weight:600}.mc-frq-q-topic{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:999px;color:#60a5fa;color:var(--frq-accent);font-size:.75rem;font-weight:600;padding:.15rem .6rem}.mc-frq-prompt{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e4e4e7;color:var(--frq-text);line-height:1.55;margin:.4rem 0;padding:.6rem .8rem}.mc-frq-part code,.mc-frq-prompt code{background:#ffffff0f;border-radius:3px;color:#e4e4e7;color:var(--frq-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em;padding:.05rem .3rem}.mc-frq-code,.mc-frq-part pre,.mc-frq-prompt pre{background:#0b1020;background:var(--frq-code-bg);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;margin:.35rem 0;overflow-x:auto;padding:.6rem .8rem}.mc-frq-code code,.mc-frq-part pre code,.mc-frq-prompt pre code{background:#0000;border:0;color:inherit;font-size:inherit;padding:0}.mc-frq-prompt table{border-collapse:collapse;font-size:.85em;margin:.4rem 0}.mc-frq-prompt table td,.mc-frq-prompt table th{background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);color:#e4e4e7;color:var(--frq-text);padding:.3rem .5rem}.mc-frq-prompt table thead th{background:#232342;background:var(--frq-surface-elevated);font-weight:600}.mc-frq-part{border-top:1px solid #ffffff1a;border-top:1px solid var(--frq-border);margin-top:.8rem;padding-top:.7rem}.mc-frq-part-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.4rem}.mc-frq-part-score{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:4px;color:#60a5fa;color:var(--frq-accent);font-size:.82rem;font-weight:600;padding:.15rem .5rem}.mc-frq-label{color:#a1a1aa;color:var(--frq-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin:.6rem 0 .2rem;text-transform:uppercase}.mc-frq-rubric{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:.2rem 0;padding:0}.mc-frq-rubric li{grid-gap:.4rem;align-items:start;background:#0f0f23;background:var(--frq-surface-2);border:1px solid #ffffff1a;border:1px solid var(--frq-border);border-radius:5px;display:grid;gap:.4rem;grid-template-columns:1.4rem 1fr auto;padding:.35rem .5rem}.mc-frq-rubric li.earned{background:#22c55e1f;background:var(--frq-earned-bg);border-color:#22c55e59;border-color:var(--frq-earned-border);color:#4ade80;color:var(--frq-earned-text)}.mc-frq-rubric-mark{font-size:1.05rem;line-height:1.1}.mc-frq-rubric-desc{color:inherit}.mc-frq-rubric-pts{color:#a1a1aa;color:var(--frq-text-muted);font-weight:600;white-space:nowrap}.mc-frq-rubric li.earned .mc-frq-rubric-pts{color:#4ade80;color:var(--frq-earned-text)}.mc-frq-rubric-comment{background:#ffffff0d;border-left:2px solid #60a5fa;border-left:2px solid var(--frq-accent);border-radius:0 4px 4px 0;color:#e4e4e7;color:var(--frq-text);font-size:.88em;font-style:italic;grid-column:2/-1;margin-top:.25rem;padding:.3rem .5rem}.mc-frq-solution{background:#052e24!important;background:var(--frq-solution-bg)!important;border-color:#22c55e40!important;color:#d1fae5!important;color:var(--frq-solution-text)!important}.frq-results-action-btn{background:#3b82f626;background:var(--frq-accent-bg);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border);border-radius:6px;color:#60a5fa;color:var(--frq-accent);cursor:pointer;font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.4rem .8rem;white-space:nowrap}.frq-results-action-btn:hover{background:#3b82f640;background:var(--frq-accent-bg-strong)}.frq-results-action-btn[disabled]{cursor:progress;opacity:.6}.frq-results-action-btn.frq-results-action-active{background:#60a5fa;background:var(--frq-accent);border-color:#60a5fa;border-color:var(--frq-accent);color:#0b1020}.frq-results-action-btn.frq-results-action-active:hover{background:#93c5fd}.frq-ai-grade-btn{background:#6366f124;border:1px solid #6366f18c;border-radius:999px;color:#c7d2fe;font-size:.78rem;font-weight:600;margin-left:auto;padding:.3rem .7rem;transition:background .15s,color .15s;white-space:nowrap}.frq-ai-grade-btn:hover:not(:disabled){background:#6366f147;color:#e0e7ff}.frq-ai-grade-btn:disabled{cursor:progress;opacity:.6}.frq-ai-suggestion{background:linear-gradient(180deg,#6366f114,#6366f108);border:1px solid #6366f166;border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e2e8f0);margin:.5rem 0 .75rem;padding:.85rem 1rem}.frq-ai-suggestion.is-error{background:linear-gradient(180deg,#dc262614,#dc262608);border-color:#dc262673}.frq-ai-suggestion-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.3rem}.frq-ai-suggestion-title{color:#c7d2fe;font-size:.88rem;font-weight:700}.frq-ai-suggestion.is-error .frq-ai-suggestion-title{color:#fca5a5}.frq-ai-suggestion-dismiss{background:#0000;border:none;color:#9ca3af;color:var(--frq-muted,#9ca3af);cursor:pointer;font-size:1.1rem;line-height:1;padding:.1rem .3rem}.frq-ai-suggestion-dismiss:hover,.frq-ai-suggestion-text{color:#e4e4e7;color:var(--frq-text,#e2e8f0)}.frq-ai-suggestion-text{font-size:.88rem;line-height:1.45;margin:.25rem 0 .6rem}.frq-ai-suggestion-items{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:.5rem 0;padding:0}.frq-ai-suggestion-item{align-items:baseline;border-bottom:1px solid #ffffff0d;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;padding:.25rem 0}.frq-ai-suggestion-item:last-child{border-bottom:none}.frq-ai-suggestion-mark{color:#fca5a5;flex-shrink:0;font-size:1rem;font-weight:700;width:1rem}.frq-ai-suggestion-item.earned .frq-ai-suggestion-mark{color:#86efac}.frq-ai-suggestion-desc{color:#e4e4e7;color:var(--frq-text,#e2e8f0);flex:1 1}.frq-ai-suggestion-comment{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-style:italic}.frq-ai-suggestion-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem}.frq-ai-suggestion-accept{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:background .15s}.frq-ai-suggestion-accept:hover{background:#818cf8}.frq-ai-suggestion-note{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.78rem}.frq-ai-usage-widget{align-items:center;background:#6366f114;border:1px solid #6366f159;border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e2e8f0);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.6rem;margin:0 0 1rem;padding:.55rem .9rem}.frq-ai-usage-widget.is-low{background:#eab30814;border-color:#eab30880}.frq-ai-usage-icon{font-size:1rem}.frq-ai-usage-text strong{color:#c7d2fe;font-weight:700}.frq-ai-usage-widget.is-low .frq-ai-usage-text strong{color:#fcd34d}.frq-ai-usage-label,.frq-ai-usage-sep{color:#9ca3af;color:var(--frq-muted,#9ca3af)}.frq-ai-usage-label{margin-left:.15rem}.frq-ai-usage-bar{background:#ffffff0f;border-radius:999px;flex:1 1;height:6px;min-width:120px;overflow:hidden}.frq-ai-usage-bar-fill{background:#6366f1;display:block;height:100%;transition:width .25s ease-out}.frq-ai-usage-widget.is-low .frq-ai-usage-bar-fill{background:#eab308}.frq-ai-usage-widget-top{margin:.75rem 0}.frq-ai-usage-cost{color:#9ca3af;color:var(--frq-muted,#9ca3af);margin-left:.25rem}.frq-ai-usage-warning{color:#fcd34d;font-size:.78rem}.frq-ai-usage-warning a{color:inherit;text-decoration:underline}.frq-ai-bulk-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 .85rem}.frq-ai-bulk-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:0;border-radius:999px;box-shadow:0 1px 2px #4f46e54d;color:#fff;cursor:pointer;display:inline-flex;font-size:.84rem;font-weight:600;gap:.35rem;padding:.42rem .9rem}.frq-ai-bulk-btn:hover:not(:disabled){box-shadow:0 2px 6px #4f46e573;filter:brightness(1.08)}.frq-ai-bulk-btn:disabled{cursor:progress;opacity:.7}.frq-ai-bulk-hint{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.78rem}.frq-ai-bulk-result{align-items:center;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;color:#86efac;display:inline-flex;font-size:.82rem;gap:.4rem;padding:.25rem .55rem}.frq-ai-bulk-result.is-error{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.frq-ai-bulk-fail-detail{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;opacity:.85}.frq-ai-bulk-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;color:#fca5a5;display:inline-flex;font-size:.82rem;gap:.4rem;padding:.25rem .55rem}.frq-ai-bulk-dismiss{background:#0000;border:0;color:inherit;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:0 .1rem}.frq-ai-bulk-dismiss:hover{opacity:1}.frq-ai-bulk-all-banner{align-items:center;background:#4f46e51f;border:1px solid #4f46e559;border-radius:6px;color:#c7d2fe;display:flex;flex-wrap:wrap;font-size:.88rem;gap:.75rem;margin:.75rem 0;padding:.6rem .85rem}.frq-ai-bulk-all-banner.is-warning{background:#eab3081f;border-color:#eab30866;color:#fcd34d}.frq-ai-bulk-all-spinner{font-size:1rem}.frq-ai-bulk-all-text strong{color:#fff}.frq-ai-bulk-all-bar{background:#ffffff1a;border-radius:999px;flex:1 1;height:6px;max-width:280px;min-width:140px;overflow:hidden}.frq-ai-bulk-all-bar-fill{background:linear-gradient(90deg,#4f46e5,#7c3aed);display:block;height:100%;transition:width .2s ease}.frq-ai-bulk-all-cancel,.frq-ai-bulk-all-dismiss{background:#0000;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;font-size:.78rem;margin-left:auto;opacity:.85;padding:.2rem .55rem}.frq-ai-bulk-all-cancel:hover,.frq-ai-bulk-all-dismiss:hover{opacity:1}.frq-ai-bulk-all-error{color:#fca5a5}.frq-plagiarism-panel{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);margin:1rem 0;padding:1rem 1.2rem}.frq-plagiarism-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.85rem;padding-right:2rem;position:relative}.frq-plagiarism-title{font-size:1rem;font-weight:600}.frq-plagiarism-subtitle{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.82rem;line-height:1.45}.frq-plagiarism-close{background:#0000;border:0;color:#9ca3af;color:var(--frq-muted,#9ca3af);cursor:pointer;font-size:1.4rem;line-height:1;padding:0 .25rem;position:absolute;right:0;top:0}.frq-plagiarism-close:hover{color:#e4e4e7;color:var(--frq-text,#e4e4e7)}.frq-plagiarism-controls{align-items:center;background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:.85rem;padding:.6rem .85rem}.frq-plagiarism-slider-label{align-items:center;display:inline-flex;font-size:.88rem;gap:.6rem}.frq-plagiarism-slider{max-width:100%;width:220px}.frq-plagiarism-hint{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.78rem}.frq-plagiarism-loading{color:#9ca3af;color:var(--frq-muted,#9ca3af);padding:1rem}.frq-plagiarism-error{background:#ef44441a;border:1px solid #ef444459;border-radius:4px;color:#fca5a5;padding:.75rem .9rem}.frq-plagiarism-summary{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:.92rem;margin-bottom:.85rem}.frq-plagiarism-group{margin-bottom:1.25rem}.frq-plagiarism-group-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff14);display:flex;flex-wrap:wrap;font-size:.92rem;gap:.5rem;margin-bottom:.5rem;padding-bottom:.4rem}.frq-plagiarism-group-count,.frq-plagiarism-part{color:#9ca3af;color:var(--frq-muted,#9ca3af)}.frq-plagiarism-group-count{background:#ffffff0d;border-radius:999px;font-size:.78rem;margin-left:auto;padding:.1rem .5rem}.frq-plagiarism-table{border-collapse:collapse;font-size:.88rem;width:100%}.frq-plagiarism-table td,.frq-plagiarism-table th{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff0f);padding:.45rem .6rem;text-align:left}.frq-plagiarism-table th{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.frq-plagiarism-table tr.is-high td{background:#ef44441f}.frq-plagiarism-table tr.is-medium td{background:#eab30814}.frq-plagiarism-table tr.is-low td{background:#0000}.frq-plagiarism-table tr.is-high td strong{color:#fca5a5}.frq-plagiarism-table tr.is-medium td strong{color:#fcd34d}.frq-plagiarism-tokens{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem}.frq-plagiarism-canon,.frq-plagiarism-raw{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.85rem}.frq-plagiarism-canon{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.frq-plagiarism-similarity-raw{font-size:.78rem;font-weight:400;margin-left:.4rem;opacity:.7}.frq-plagiarism-view-btn{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff26);border-radius:4px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);cursor:pointer;font-size:.78rem;padding:.25rem .6rem}.frq-plagiarism-view-btn:hover{border-color:#3b82f680;color:#60a5fa}.frq-plagiarism-modal-backdrop{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.frq-plagiarism-modal{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff26);border-radius:8px;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;overflow:hidden;width:100%}.frq-plagiarism-modal-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff14);display:flex;justify-content:space-between;padding:.85rem 1rem}.frq-plagiarism-similarity-badge{background:#ef444433;border-radius:999px;color:#fca5a5;font-size:.78rem;font-weight:600;margin-left:.85rem;padding:.15rem .6rem}.frq-plagiarism-modal-body{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;overflow:auto}.frq-plagiarism-code-col{border-right:1px solid #ffffff1a;border-right:1px solid var(--frq-border,#ffffff14);display:flex;flex-direction:column;min-width:0}.frq-plagiarism-code-col:last-child{border-right:0}.frq-plagiarism-code-header{background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff0f);font-size:.85rem;font-weight:600;padding:.5rem .85rem}.frq-plagiarism-code{background:#0b1020;background:var(--frq-code-bg,#0b1020);color:#e2e8f0;color:var(--frq-code-text,#e2e8f0);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5;margin:0;min-height:200px;overflow-x:auto;padding:.75rem .85rem;white-space:pre}.frq-plagiarism-modal-footer{border-top:1px solid #ffffff1a;border-top:1px solid var(--frq-border,#ffffff14);color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.78rem;line-height:1.5;padding:.7rem 1rem}@media (max-width:800px){.frq-plagiarism-modal-body{grid-template-columns:1fr}.frq-plagiarism-code-col{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff14);border-right:0}.frq-plagiarism-code-col:last-child{border-bottom:0}}.mock-ai-feedback{margin:1rem 0 .5rem}.mock-ai-feedback-batch{background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #4f46e559;border-radius:6px;margin:0 0 1rem;padding:.85rem 1rem}.mock-ai-feedback-batch-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.mock-ai-feedback-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:0;border-radius:999px;box-shadow:0 1px 2px #4f46e54d;color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;margin-right:.75rem;padding:.55rem 1.1rem}.mock-ai-feedback-btn:hover{filter:brightness(1.08)}.mock-ai-feedback-hint{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.82rem}.mock-ai-feedback-loading{align-items:center;color:#9ca3af;color:var(--frq-muted,#9ca3af);display:inline-flex;font-size:.92rem;gap:.5rem}.mock-ai-feedback-spinner{font-size:1.1rem}.mock-ai-feedback-error{background:#ef44441a;border:1px solid #ef444459;border-radius:4px;color:#fca5a5;font-size:.85rem;margin-top:.5rem;padding:.45rem .65rem}.mock-ai-feedback-quota{background:#eab3081a;border:1px solid #eab30866;border-radius:6px;color:#fcd34d;line-height:1.5;padding:.7rem .9rem}.mock-ai-feedback-upgrade{background:#16a34a;border-radius:999px;color:#052e16;display:inline-block;font-weight:700;margin-left:.85rem;padding:.35rem .85rem;text-decoration:none}.mock-ai-feedback-upgrade:hover{filter:brightness(1.05)}.mock-ai-feedback-result{background:#4f46e514;border:1px solid #4f46e559;border-radius:6px;margin-top:.5rem;padding:.85rem 1rem}.mock-ai-feedback-result-header{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:.5rem}.mock-ai-feedback-result-title,.mock-ai-feedback-score{color:#c7d2fe;font-weight:700}.mock-ai-feedback-score{background:#4f46e540;border-radius:999px;font-size:.85rem;padding:.15rem .6rem}.mock-ai-feedback-reasoning{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:.9rem;line-height:1.55;margin:0 0 .6rem}.mock-ai-feedback-items{list-style:none;margin:0;padding:0}.mock-ai-feedback-item{grid-gap:.5rem;align-items:start;border-bottom:1px solid #ffffff0f;display:grid;font-size:.88rem;gap:.5rem;grid-template-columns:auto 1fr auto;padding:.45rem 0}.mock-ai-feedback-item:last-child{border-bottom:0}.mock-ai-feedback-mark{font-weight:700;text-align:center;width:1.2rem}.mock-ai-feedback-item.is-earned .mock-ai-feedback-mark{color:#4ade80}.mock-ai-feedback-item.is-missed .mock-ai-feedback-mark{color:#f87171}.mock-ai-feedback-comment{color:#9ca3af;color:var(--frq-muted,#9ca3af);display:block;font-weight:400;line-height:1.5;margin-top:.2rem}.mock-ai-feedback-pts{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:nowrap}.mock-ai-feedback-item.is-earned .mock-ai-feedback-pts{color:#4ade80}.mock-ai-feedback-remaining{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.8rem;margin-top:.6rem}.mock-ai-feedback-disclaimer{color:#9ca3af;color:var(--frq-muted,#9ca3af);font-size:.75rem;line-height:1.5;margin-top:.4rem;opacity:.85}.frq-ai-suggestion-regenerate{align-items:center;background:#0000;border:1px solid #ffffff26;border-radius:4px;color:#e4e4e7;color:var(--frq-text,#e2e8f0);cursor:pointer;display:inline-flex;font-size:.82rem;gap:.3rem;margin-left:.4rem;padding:.35rem .7rem}.frq-ai-suggestion-regenerate:hover:not(:disabled){border-color:#4f46e580;color:#a5b4fc}.frq-ai-suggestion-regenerate:disabled{cursor:progress;opacity:.6}.frq-results-action-ai{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;border-color:#0000!important;color:#fff!important}.frq-results-action-ai:hover:not(:disabled){filter:brightness(1.08)}.lockdown-session{align-items:center;background:#0f0f23;background:var(--bg-primary,#0f0f23);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem}.lockdown-session.lockdown-active{justify-content:flex-start;padding:3.5rem 2rem 1rem}.lockdown-password-gate{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:16px;max-width:420px;padding:2.5rem;text-align:center;width:100%}.lockdown-password-gate h1{color:var(--text-primary);font-size:1.5rem;margin:0 0 .75rem}.lockdown-password-gate p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.lockdown-warning-text{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;color:#f59e0b!important;font-size:.8rem!important;padding:.75rem}.lockdown-password-gate form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.lockdown-password-gate input{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;text-align:center}.lockdown-password-masked{-webkit-text-security:disc}.lockdown-password-gate input:focus{border-color:#a855f780;outline:none}.lockdown-password-gate button{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:opacity .2s}.lockdown-password-gate button:hover{opacity:.9}.lockdown-quiz-header{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;display:flex;justify-content:space-between;margin:0 auto 1rem;max-width:800px;padding:.75rem 1rem;width:100%}.lockdown-quiz-progress{color:var(--text-primary);font-size:.9rem;font-weight:600}.lockdown-quiz-info{align-items:center;display:flex;gap:1rem}.lockdown-violation-count{color:#f59e0b;font-size:.8rem;font-weight:600}.lockdown-timer{color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:1rem;font-weight:700}.lockdown-timer-urgent{animation:lockdown-pulse 1s infinite;color:#ef4444!important}@keyframes lockdown-pulse{0%,to{opacity:1}50%{opacity:.5}}.lockdown-floating-timer{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-shadow:0 6px 16px #00000073;padding:.4rem .75rem;pointer-events:none;position:fixed;right:.75rem;top:.75rem;z-index:900}.lockdown-floating-timer .lockdown-timer{font-size:1.05rem}.lockdown-question-nav{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:0 auto 1rem;max-width:800px}.lockdown-nav-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;height:36px;overflow:hidden;position:relative;transition:all .15s;width:36px}.lockdown-nav-flag{border-color:#0000 #ef4444 #0000 #0000;border-style:solid;border-width:0 12px 12px 0;height:0;position:absolute;right:0;top:0;width:0}.lockdown-nav-btn.active{background:#a855f733;border-color:#a855f780;color:#a855f7}.lockdown-nav-btn.answered{background:#00b5091a;border-color:#00b5094d;color:#00b509}.lockdown-nav-btn.active.answered{background:#a855f733;border-color:#a855f780;color:#a855f7}.lockdown-question{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin:0 auto;max-width:800px;padding:1.5rem 2rem;width:100%}.lockdown-flag-btn{background:none;border:1px solid #ffffff1a;border-radius:6px;color:var(--text-secondary);cursor:pointer;float:right;font-family:inherit;font-size:.78rem;margin:-.25rem -.5rem .5rem .75rem;padding:.3rem .7rem;transition:all .15s}.lockdown-flag-btn:hover{background:#ef44440f;border-color:#ef444466;color:#ef4444}.lockdown-flag-btn.active{background:#ef44441a;border-color:#ef444480;color:#ef4444}.lockdown-question h3{color:var(--text-primary);font-size:1em;margin:0 0 1rem;white-space:pre-line}.lockdown-question code:not([class*=language-]){background:#a855f71a;border-radius:4px;color:#a855f7;font-size:.9rem;padding:.15rem .4rem}.lockdown-hint{background:#ffffff08;border-radius:6px;color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:.75rem 0;padding:.6rem .8rem}.lockdown-vocab-prompt{margin:0 0 1.25rem}.lockdown-vocab-label{color:var(--text-secondary);font-size:.85em;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.lockdown-vocab-definition{background:#a855f70f;border-left:4px solid #a855f7b3;border-radius:0 6px 6px 0;color:var(--text-primary);font-size:1.1em;line-height:1.5;padding:.75rem 1rem}.lockdown-vocab-input-wrap{margin-top:1rem;max-width:480px}.lockdown-answer-input{align-items:center;display:flex;gap:.75rem;margin-top:1.25rem}.lockdown-answer-input label{color:var(--text-secondary);font-size:.9rem;font-weight:600;white-space:nowrap}.lockdown-answer-input input{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:2px solid #ffffff1a;border:2px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:1.1rem;padding:.6rem .75rem;text-align:center;width:120px}.lockdown-answer-input input:focus{border-color:#a855f7;outline:none}.lockdown-mcq-options{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem auto 0;max-width:800px;width:100%}.lockdown-mcq-option-row{align-items:stretch;border-radius:10px;display:flex;gap:0;transition:opacity .2s}.lockdown-mcq-option-row.eliminated{opacity:.45}.lockdown-mcq-option{align-items:center;background:#ffffff08;border:2px solid #ffffff1a;border-radius:10px 0 0 10px;color:#e0e0e0;cursor:pointer;display:flex;flex:1 1;font-family:inherit;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s}.lockdown-mcq-option:hover{background:#a855f714;border-color:#a855f766}.lockdown-mcq-option.selected{background:#a855f726;border-color:#a855f799}.lockdown-mcq-option.eliminated{color:#9ca3af;text-decoration:line-through}.lockdown-mcq-option.eliminated .lockdown-mcq-letter{opacity:.5}.lockdown-mcq-option.eliminated:hover{background:#a855f70d;border-color:#a855f74d}.lockdown-eliminate-btn{align-items:center;background:#ffffff05;border:2px solid #ffffff1a;border-left:none;border-radius:0 10px 10px 0;color:#ffffff40;cursor:pointer;display:flex;font-family:inherit;font-size:.75rem;justify-content:center;min-width:36px;padding:0;transition:all .15s;width:36px}.lockdown-eliminate-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.lockdown-eliminate-btn.active{background:#ef444426;border-color:#ef44444d;color:#ef4444}.lockdown-mcq-letter{align-items:center;background:#ffffff14;border-radius:50%;display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;min-width:32px;width:32px}.lockdown-mcq-option.selected .lockdown-mcq-letter{background:#a855f766;color:#fff}.lockdown-mcq-text{line-height:1.5}.lockdown-quiz-footer{display:flex;justify-content:space-between;margin:1rem auto 0;max-width:800px;width:100%}.lockdown-quiz-footer button{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:.6rem 1.5rem;transition:all .15s}.lockdown-quiz-footer button:hover:not(:disabled){border-color:#00b509;border-color:var(--primary-color,#00b509)}.lockdown-quiz-footer button:disabled{cursor:not-allowed;opacity:.4}.lockdown-submit-final{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important;font-weight:600}.lockdown-submit-final:hover:not(:disabled){border-color:#7c3aed!important;opacity:.9}.lockdown-violation-overlay{animation:lockdown-slide-down .3s ease-out;display:flex;justify-content:center;left:0;padding-top:1rem;position:fixed;right:0;top:0;z-index:10000}@keyframes lockdown-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.lockdown-violation-msg{background:#dc2626f2;border-radius:8px;box-shadow:0 4px 20px #0006;color:#fff;font-size:.9rem;font-weight:600;padding:.75rem 2rem;text-align:center}.lockdown-fullscreen-overlay{align-items:center;background:#000000d9;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10002}.lockdown-fullscreen-msg{color:#fff;text-align:center}.lockdown-fullscreen-msg h3{color:#f59e0b;font-size:1.5rem;margin-bottom:.5rem}.lockdown-fullscreen-msg p{color:#ffffffb3;font-size:1rem}.lockdown-confirm-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.lockdown-confirm-dialog{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;max-width:400px;padding:2rem;text-align:center;width:90%}.lockdown-confirm-dialog h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 .75rem}.lockdown-confirm-dialog p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.5rem}.lockdown-confirm-actions{display:flex;gap:.75rem;justify-content:center}.lockdown-confirm-cancel{background:#0f0f23;background:var(--bg-primary,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:.6rem 1.5rem}.lockdown-confirm-cancel:hover{border-color:var(--text-secondary)}.lockdown-confirm-submit{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem}.lockdown-confirm-submit:hover:not(:disabled){opacity:.9}.lockdown-confirm-submit:disabled{cursor:not-allowed;opacity:.5}.lockdown-paused{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #f59e0b4d;border-radius:16px;max-width:420px;padding:2.5rem;text-align:center}.lockdown-paused h1{color:#f59e0b;font-size:1.5rem;margin:0 0 1rem}.lockdown-paused p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.lockdown-paused-spinner{animation:lockdown-spin 1s linear infinite;border:3px solid #f59e0b33;border-radius:50%;border-top-color:#f59e0b;height:40px;margin:1.5rem auto;width:40px}@keyframes lockdown-spin{to{transform:rotate(1turn)}}.lockdown-paused-status{color:#f59e0b!important;font-size:.85rem!important;font-weight:600}.lockdown-submitted{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:16px;max-width:420px;padding:2.5rem;text-align:center}.lockdown-submitted h1{color:var(--text-primary);font-size:1.5rem;margin:0 0 1rem}.lockdown-auto-submit-msg{color:#f59e0b;font-size:.9rem;margin-bottom:1rem}.lockdown-final-score{margin:1.5rem 0}.lockdown-score-big{color:#00b509;color:var(--primary-color,#00b509);font-size:3rem;font-weight:800}.lockdown-score-detail{color:var(--text-secondary);font-size:1rem;margin-top:.25rem}.lockdown-submitted button{background:#00b509;background:var(--primary-color,#00b509);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1.5rem;padding:.75rem 2rem}.lockdown-submitted button:hover{opacity:.9}.lockdown-escape-dialog{max-width:440px}.lockdown-escape-list{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left}.lockdown-escape-list li{color:var(--text-secondary);font-size:.9rem;padding:.35rem 0 .35rem 1.2rem;position:relative}.lockdown-escape-list li:before{color:#ef4444;content:"•";font-weight:700;left:0;position:absolute}.lockdown-escape-leave{border-color:#ef44444d!important;color:#ef4444!important}.lockdown-escape-leave:hover{background:#ef44441a!important;border-color:#ef4444!important}.lockdown-font-controls{display:flex;flex-shrink:0;gap:.5rem}.lockdown-font-btn{background:#a855f71a;border:2px solid #a855f766;border-radius:8px;color:#c4a5f7;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:.4rem .75rem;transition:all .15s;white-space:nowrap}.lockdown-font-btn:hover{background:#a855f733;border-color:#a855f7;color:#fff}.lockdown-no-chrome{padding-top:0!important}@media (max-width:768px){.lockdown-session{padding:1rem}.lockdown-question{padding:1rem 1.25rem}.lockdown-answer-input{align-items:flex-start;flex-direction:column}.lockdown-quiz-footer{gap:.5rem}}.parsons-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.pp-csa-pill{background:#00b5091a;border:1px solid #00b50940;border-radius:20px;color:#00b509;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.25rem .75rem;text-transform:uppercase}.pp-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.25rem}.pp-subtitle{color:var(--text-secondary);margin-bottom:2rem}.pp-progress-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:1.75rem;padding:1.5rem}.pp-progress-bar-section{margin-bottom:1rem}.pp-progress-top{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.5rem}.pp-progress-text{color:var(--text-secondary);font-size:.85rem}.pp-progress-pct{color:var(--primary-color);font-size:.85rem;font-weight:700}.pp-progress-track{background:#ffffff0f;border-radius:6px;height:12px;overflow:hidden}.pp-progress-fill{background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:6px;height:100%;min-width:0;transition:width .5s ease}.pp-progress-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.pp-continue-btn{font-size:.9rem;padding:.6rem 1.5rem;white-space:nowrap}.pp-all-complete{color:#10b981;font-size:.9rem;font-weight:700}.pp-quiz-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.pp-quiz-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;padding:1.25rem;position:relative;text-align:left;transition:all .15s}.pp-quiz-card:hover{background:#00b5090a;border-color:var(--primary-color)}.pp-quiz-card-sampler{background:#a855f70f;border-color:#a855f74d}.pp-quiz-card-sampler:hover{background:#a855f71a;border-color:#a855f7}.pp-card-complete{background:#10b98108;border-color:#10b9814d}.pp-card-perfect{background:#ffd7000a;border-color:#ffd70066}.pp-card-locked{cursor:not-allowed;opacity:.55;pointer-events:none}.pp-lock-icon{font-size:1rem}.pp-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.pp-filter-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;margin-right:.25rem}.pp-filter-pill{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;padding:.3rem .8rem;transition:border-color .15s,background .15s,color .15s}.pp-filter-pill:hover{border-color:#00b5098c}.pp-filter-pill.active{background:#00b50924;border-color:#00b509;color:#00b509}.pp-top-upsell{align-items:center;background:linear-gradient(135deg,#00b5091a,#a855f71a);border:1px solid #00b5094d;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.pp-top-upsell-copy{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:260px}.pp-top-upsell-copy strong{color:var(--text-primary);font-size:1rem}.pp-top-upsell-sub{color:var(--text-secondary);font-size:.85rem}.pp-top-upsell-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pp-card-perfect:hover{background:#ffd70012;border-color:#ffd70099}.pp-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.pp-card-num{background:#38bdf81f;border:1px solid #38bdf84d;border-radius:999px;color:#38bdf8;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.02em;max-width:100%;overflow:hidden;padding:.18rem .6rem;text-overflow:ellipsis;white-space:nowrap}.pp-card-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.pp-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:.5rem}.pp-card-topics{display:flex;flex-wrap:wrap;gap:.35rem}.pp-card-score{background:#10b9811a;border-radius:6px;bottom:1rem;color:#10b981;font-size:.85rem;font-weight:700;padding:.2rem .6rem;position:absolute;right:1rem}.pp-score-perfect{background:#fbbf241f;border:1px solid #fbbf2440;color:#fbbf24}.pp-topic-pill{background:#38bdf81a;border:1px solid #38bdf833;border-radius:20px;color:#38bdf8;font-size:.7rem;font-weight:600;padding:.2rem .5rem}.pp-diff-badge{border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.pp-diff-easy{background:#10b9811f;border:1px solid #10b98140;color:#10b981}.pp-diff-medium{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.pp-diff-hard{background:#ef44441f;border:1px solid #ef444440;color:#ef4444}.pp-diff-mixed{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.pp-guest-banner{background:#a855f714;border:1px solid #a855f733;border-radius:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;padding:.75rem 1.25rem}.pp-guest-cta{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-top:2rem;padding:2.5rem 2rem;text-align:center}.pp-guest-cta h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.pp-guest-cta p{color:var(--text-secondary);line-height:1.6;margin:0 auto 1.5rem;max-width:500px}.pp-cta-sub{color:var(--text-secondary)!important;font-size:.85rem;margin-top:1rem!important}.pp-cta-sub a{color:var(--primary-color);text-decoration:none}.pp-cta-sub a:hover{text-decoration:underline}.pp-quiz-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.pp-back-btn{white-space:nowrap}.pp-quiz-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.15rem}.pp-q-counter{color:var(--text-secondary);font-size:.85rem}.pp-dots{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.pp-dot{background:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;font-size:0;height:32px;transition:all .2s;width:32px}.pp-dot.active{background:#00b50926;border-color:var(--primary-color)}.pp-question-title{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.pp-question-instruction{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.pp-drag-area{background:#0d1117;border:1px solid #ffffff1a;border-radius:10px;display:flex;flex-direction:column;gap:4px;margin-bottom:1.5rem;padding:.75rem}.pp-drag-line{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;cursor:grab;display:flex;gap:.5rem;padding:.5rem .75rem;transition:background .15s,opacity .15s,border-color .15s;-webkit-user-select:none;user-select:none}.pp-drag-line:hover{background:#ffffff12;border-color:#ffffff26}.pp-drag-line.dragging{background:#00b5090f;border-color:var(--primary-color);opacity:.4}.pp-drag-line.drag-over-above{background:#38bdf80f;border-top:3px solid #38bdf8;margin-top:-2px}.pp-drag-line.drag-over-below{background:#38bdf80f;border-bottom:3px solid #38bdf8;margin-bottom:-2px}.pp-drag-line:active{cursor:grabbing}.pp-drag-handle{color:#ffffff80;cursor:grab;flex-shrink:0;font-size:1rem;line-height:1}.pp-drag-handle:active{cursor:grabbing}.pp-line-num{color:#ffffff40;flex-shrink:0;font-size:.75rem;font-weight:600;min-width:24px;text-align:right}.pp-line-code,.pp-line-num{font-family:SF Mono,Consolas,Menlo,monospace}.pp-line-code{color:#e6edf3;flex:1 1;font-size:.88rem;white-space:pre-wrap;word-break:break-word}.pp-move-btns{display:none;flex-direction:column;flex-shrink:0;gap:2px;margin-left:auto}.pp-move-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;font-size:.65rem;height:22px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.pp-move-btn:hover:not(:disabled){background:#ffffff1f;color:#fffc}.pp-move-btn:disabled{cursor:not-allowed;opacity:.3}.pp-hint-area{margin-bottom:1.5rem}.pp-hint-box,.pp-hint-btn{font-size:.85rem}.pp-hint-box{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;color:var(--text-secondary);line-height:1.6;padding:.75rem 1rem}.pp-hint-box strong{color:#f59e0b}.pp-nav{display:flex;gap:1rem;justify-content:space-between}.pp-submit-wrap{display:inline-flex;position:relative}.pp-submit-wrap[data-tooltip]:after{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #0009;color:#e2e8f0;content:attr(data-tooltip);font-size:.8rem;font-weight:400;line-height:1.5;opacity:0;padding:.55rem .85rem;pointer-events:none;position:absolute;right:0;text-align:center;transform:translateY(4px);transition:opacity .2s,transform .2s;width:240px;z-index:50}.pp-submit-wrap[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.pp-leave-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.pp-leave-modal{animation:ppLeaveIn .2s ease;background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:400px;padding:1.75rem 2rem;width:100%}@keyframes ppLeaveIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pp-leave-modal h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 .5rem}.pp-leave-modal p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.pp-leave-actions{display:flex;gap:.75rem}.pp-leave-actions .btn{flex:1 1}.pp-score-banner{align-items:center;border:1px solid;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem;padding:1.25rem 1.5rem}.pp-score-banner.perfect{background:#052e16;border-color:#166534}.pp-score-banner.good{background:#1c2f1c;border-color:#2d5a2d}.pp-score-banner.retry{background:#2d1a00;border-color:#7c3500}.pp-score-num{color:var(--primary-color);font-size:2rem;font-weight:800;white-space:nowrap}.pp-score-label{color:var(--text-primary);flex:1 1;font-size:1rem}.pp-result-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.pp-result-correct{border-left:3px solid #10b981}.pp-result-wrong{border-left:3px solid #ef4444}.pp-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.pp-result-q{color:var(--text-primary);font-weight:700}.pp-result-icon{font-size:1.25rem;font-weight:800}.pp-result-icon.correct{color:#10b981}.pp-result-icon.wrong{color:#ef4444}.pp-result-comparison{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.pp-result-code-block{background:#0d1117;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:1rem;overflow:hidden}.pp-result-code-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.5rem .75rem;text-transform:uppercase}.pp-label-correct{background:#10b9811a;border-bottom:1px solid #10b98133;color:#10b981}.pp-label-wrong{background:#ef44441a;border-bottom:1px solid #ef444433;color:#ef4444}.pp-code-lines-result{padding:.5rem 0}.pp-code-line-result{align-items:baseline;display:flex;line-height:1.6;padding:.2rem .75rem}.pp-code-line-result.pp-line-wrong{background:#ef444414}.pp-result-line-num{color:#ffffff40;flex-shrink:0;font-family:SF Mono,Consolas,Menlo,monospace;font-size:.78rem;min-width:24px;padding-right:.75rem;text-align:right;-webkit-user-select:none;user-select:none}.pp-explanation{background:var(--bg-secondary);border-left:3px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.6;padding:.75rem 1rem}.pp-explanation strong{color:var(--text-primary)}.pp-results-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.pp-related-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin-top:3rem;padding:1.75rem 2rem;text-align:center}.pp-related-section h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.pp-related-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem}.pp-related-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.pp-related-btn{display:inline-block}@media (max-width:768px){.parsons-page{padding:2rem 1rem}.pp-title{font-size:1.5rem}.pp-quiz-grid{grid-template-columns:1fr}.pp-progress-row{align-items:flex-start;flex-direction:column}.pp-continue-btn{text-align:center;width:100%}.pp-quiz-header{flex-direction:column}.pp-move-btns{display:flex}.pp-drag-handle{display:none}.pp-drag-line{cursor:default}.pp-line-code{font-size:.8rem}.pp-drag-area{border-radius:8px}.pp-result-comparison{grid-template-columns:1fr}.pp-related-links{align-items:center;flex-direction:column}.pp-related-btn{text-align:center;width:100%}.pp-submit-wrap[data-tooltip]:after{display:none}}.unit-tests-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.ut-csa-pill{background:#00b5091a;border:1px solid #00b50940;border-radius:20px;color:#00b509;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.25rem .75rem;text-transform:uppercase}.ut-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.25rem}.ut-subtitle{color:var(--text-secondary);margin-bottom:2rem}.ut-top-upsell{align-items:center;background:linear-gradient(135deg,#00b5091a,#38bdf81a);border:1px solid #00b5094d;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.ut-top-upsell-copy{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:260px}.ut-top-upsell-copy strong{color:var(--text-primary);font-size:1rem}.ut-top-upsell-sub{color:var(--text-secondary);font-size:.85rem}.ut-top-upsell-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ut-progress-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:1.75rem;padding:1.5rem}.ut-progress-top{align-items:baseline;display:flex;font-weight:600;justify-content:space-between;margin-bottom:.5rem}.ut-progress-track{background:var(--bg-primary);border-radius:999px;height:10px;overflow:hidden;width:100%}.ut-progress-fill{background:linear-gradient(90deg,#00b509,#2fd65a);height:100%;transition:width .3s ease}.ut-guest-banner{background:#00b50914;border:1px solid #00b50940;border-radius:10px;margin-bottom:1.75rem;padding:1rem 1.25rem}.ut-guest-banner p{margin:0}.ut-problem-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.ut-problem-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.5rem;padding:1rem 1.1rem;position:relative;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}.ut-problem-card:hover:not(.ut-card-locked){background:#00b5090a;border-color:#00b509;border-color:var(--primary-color,#00b509)}.ut-card-locked{cursor:not-allowed;opacity:.55}.ut-card-complete{background:#00b5090d;border-color:#00b5098c}.ut-card-perfect{background:#ffd7000a;border-color:#ffd70066;box-shadow:0 0 0 1px #fbbf2440}.ut-card-header{align-items:center;color:var(--text-secondary);display:flex;font-size:.78rem;font-weight:600;gap:.5rem;justify-content:space-between}.ut-card-num{background:#38bdf81f;border:1px solid #38bdf84d;border-radius:999px;color:#38bdf8;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.02em;max-width:100%;overflow:hidden;padding:.18rem .6rem;text-overflow:ellipsis;white-space:nowrap}.ut-card-title{color:var(--text-primary);font-family:SF Mono,Consolas,monospace;font-size:1.05rem;font-weight:700;margin:0;overflow-wrap:normal;word-break:normal}.ut-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.35;margin:0}.ut-unit-badge{background:#00b5091f;border:1px solid #00b50959;border-radius:999px;color:#00b509;color:var(--accent-primary,#00b509);font-size:.7rem;letter-spacing:.02em;padding:.12rem .6rem}.ut-diff-badge,.ut-unit-badge{display:inline-block;font-weight:700;white-space:nowrap}.ut-diff-badge{border-radius:20px;font-size:.65rem;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.ut-diff-easy{background:#10b9811f;border:1px solid #10b98140;color:#10b981}.ut-diff-medium{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.ut-diff-hard{background:#ef44441f;border:1px solid #ef444440;color:#ef4444}.ut-unit-chip{background:#00b5091a;border:1px solid #00b5094d;border-radius:999px;color:#00b509;color:var(--accent-primary,#00b509);display:inline-block;font-size:.7rem;font-weight:700;padding:.15rem .55rem;white-space:nowrap}.ut-card-topics{display:flex;flex-wrap:wrap;gap:.35rem}.ut-topic-pill{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-block;font-size:.7rem;padding:.15rem .55rem}.ut-card-footer{display:flex;font-size:.75rem;font-weight:700;justify-content:space-between;margin-top:auto;padding-top:.35rem}.ut-card-points{color:var(--text-secondary)}.ut-card-check{color:#00b509}.ut-card-score{background:#10b9811a;border-radius:6px;bottom:1rem;color:#10b981;font-size:.85rem;font-weight:700;padding:.2rem .6rem;position:absolute;right:1rem}.ut-score-perfect{background:#fbbf241f;border:1px solid #fbbf2440;color:#fbbf24;text-shadow:none}.ut-lock-icon{font-size:1rem}.ut-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.ut-filter-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;margin-right:.25rem}.ut-filter-pill{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;padding:.3rem .8rem;transition:border-color .15s,background .15s,color .15s}.ut-filter-pill:hover{border-color:#00b5098c}.ut-filter-pill.active{background:#00b50924;border-color:#00b509;color:#00b509}.ut-empty-filter{border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);grid-column:1/-1;padding:2rem 1rem;text-align:center}.ut-link-btn{background:none;border:none;color:#00b509;cursor:pointer;font:inherit;font-weight:600;padding:0;text-decoration:underline}.ut-guest-cta{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:2rem;padding:2rem;text-align:center}.ut-guest-cta h2{margin-top:0}.ut-cta-sub{color:var(--text-secondary);font-size:.9rem;margin-top:.75rem}.ut-guest-cta-inline{margin-top:1.5rem;padding:1.25rem}.ut-guest-cta-inline p{margin:0 0 .75rem}.ut-related-section{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.ut-related-links{display:flex;flex-wrap:wrap;gap:.75rem}.ut-related-btn{font-size:.9rem}.ut-problem-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.25rem}.ut-back-btn{flex-shrink:0}.ut-problem-title{font-family:SF Mono,Consolas,monospace;font-size:1.35rem;margin:0}.ut-q-counter{color:var(--text-secondary);display:inline-block;font-size:.85rem;margin-top:.2rem}.ut-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:0;margin-bottom:1.25rem}.ut-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-weight:600;margin-bottom:-1px;padding:.6rem 1.1rem}.ut-tab.active{border-bottom-color:#00b509;color:#00b509}.ut-panel{margin-bottom:1.25rem}.ut-problem-desc{font-size:1rem;line-height:1.55;margin-bottom:.75rem}.ut-method-sig{font-size:.9rem;margin-bottom:.75rem}.ut-method-sig code{background:var(--bg-primary);border-radius:4px;font-family:SF Mono,Consolas,monospace;padding:.15rem .4rem}.ut-section-h{font-size:1rem;margin:1.25rem 0 .5rem}.ut-hint-controls{display:flex;margin-top:.75rem}.ut-tests-intro,.ut-tests-note{color:var(--text-secondary);font-size:.9rem}.ut-tests-note{font-style:italic;margin-top:.5rem}.ut-junit-source{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-family:SF Mono,Consolas,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto;padding:1rem;white-space:pre}.ut-actions{display:flex;gap:.75rem;margin:1rem 0}.ut-run-btn{min-width:120px}.ut-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-top:1rem;padding:1rem}.ut-global-error{background:#e74c3c14;border:1px solid #e74c3c4d;color:#9c2a1e;font-family:SF Mono,Consolas,monospace;font-size:.85rem;padding:.75rem;white-space:pre-wrap}.ut-global-error,.ut-test-summary{border-radius:8px;margin-bottom:.75rem}.ut-test-summary{align-items:center;display:flex;font-weight:600;justify-content:space-between;padding:.75rem 1rem}.ut-test-summary.pass{background:#2ecc711f;color:#1e8c4a}.ut-test-summary.partial{background:#f1c40f1f;color:#a97f06}.ut-test-summary.fail{background:#e74c3c1f;color:#9c2a1e}.ut-test-name{font-family:SF Mono,Consolas,monospace}.ut-assertion-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.ut-assertion{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .85rem}.ut-assertion.pass{border-color:#2ecc7166}.ut-assertion.fail{border-color:#e74c3c66}.ut-assertion-head{align-items:flex-start;display:flex;font-size:.9rem;gap:.55rem}.ut-assertion.pass .ut-assertion-icon{color:#1e8c4a;font-weight:700}.ut-assertion.fail .ut-assertion-icon{color:#9c2a1e;font-weight:700}.ut-assertion-diff{background:var(--bg-secondary);border-radius:6px;font-family:SF Mono,Consolas,monospace;font-size:.82rem;line-height:1.6;margin-top:.5rem;padding:.5rem .75rem}.ut-assertion-diff code{background:var(--bg-primary);border-radius:4px;padding:.1rem .35rem}.ut-diff-label{color:var(--text-secondary);font-family:inherit;font-weight:700}.ut-diff-message{color:var(--text-secondary);font-style:italic;margin-top:.35rem}.ut-score-banner{align-items:center;border:1px solid #0000;border-radius:12px;display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;padding:1.25rem 1rem;text-align:center}.ut-score-banner.perfect{background:#00b5091f;border-color:#00b50980;color:#00b509}.ut-score-banner.good{background:#f1c40f1f;border-color:#f1c40f80;color:#a97f06}.ut-score-banner.retry{background:#e74c3c1a;border-color:#e74c3c66;color:#9c2a1e}.ut-score-num{font-family:SF Mono,Consolas,monospace;font-size:2.2rem;font-weight:800;line-height:1}.ut-score-label{font-size:.95rem;font-weight:600}.ut-results-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding-top:1rem}.ut-all-complete{color:#00b509;font-weight:700;padding:.4rem .8rem}.ut-success-box{background:#00b5091a;border:1px solid #00b50959;border-radius:10px;margin-top:1rem;padding:1rem 1.25rem}.ut-prev-solved{background:#00b50914;border:1px solid #00b5094d;border-radius:8px;color:var(--text-primary);font-size:.95rem;margin-top:1rem;padding:.75rem 1rem}.ut-prev-solved-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.ut-prev-solved-icon{color:#00b509;font-size:1.05rem;font-weight:700}.ut-prev-solved-text{flex:1 1 auto;line-height:1.4}.ut-success-box h3{color:#00b509;margin:0 0 .35rem}.ut-success-box p{margin:0 0 .75rem}.ut-solution{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-family:SF Mono,Consolas,monospace;font-size:.85rem;margin-top:.75rem;overflow-x:auto;padding:.85rem}@media (max-width:680px){.unit-tests-page{padding:2rem 1rem}.ut-title{font-size:1.65rem}.ut-problem-grid{grid-template-columns:1fr}.ut-problem-header{align-items:flex-start;gap:.5rem}.ut-actions,.ut-problem-header,.ut-test-summary{flex-direction:column}.ut-test-summary{align-items:flex-start;gap:.25rem}.ut-results-actions{align-items:stretch;flex-direction:column}.ut-results-actions .btn{width:100%}.ut-score-num{font-size:1.8rem}}.mcq-practice-page{margin:0 auto;max-width:900px;padding:3rem 2rem}.mcq-csa-pill{background:#00b5091a;border:1px solid #00b50940;border-radius:20px;color:#00b509;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.25rem;padding:.25rem .75rem;text-transform:uppercase}.mcq-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.25rem}.mcq-subtitle{color:var(--text-secondary);margin-bottom:2rem}.mcq-progress-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:1.75rem;padding:1.5rem}.mcq-progress-bar-section{margin-bottom:1rem}.mcq-progress-top{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.5rem}.mcq-progress-text{color:var(--text-secondary);font-size:.85rem}.mcq-progress-pct{color:var(--primary-color);font-size:.85rem;font-weight:700}.mcq-progress-track{background:#ffffff0f;border-radius:6px;height:12px;overflow:hidden}.mcq-progress-fill{background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:6px;height:100%;min-width:0;transition:width .5s ease}.mcq-progress-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.mcq-continue-btn{font-size:.9rem;padding:.6rem 1.5rem;white-space:nowrap}.mcq-all-complete{color:#10b981;font-size:.9rem;font-weight:700}.mcq-progress-stats{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:.5rem}.mcq-mini-stat strong{color:var(--text-primary)}.mcq-mini-stat-sep{color:var(--border-color)}.mcq-quiz-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.mcq-quiz-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;padding:1.25rem;position:relative;text-align:left;transition:all .15s}.mcq-quiz-card:hover{background:#00b5090a;border-color:var(--primary-color)}.mcq-quiz-card-sampler{background:#a855f70f;border-color:#a855f74d}.mcq-quiz-card-sampler:hover{background:#a855f71a;border-color:#a855f7}.mcq-card-complete{background:#10b98108;border-color:#10b9814d}.mcq-card-perfect{background:#ffd7000a;border-color:#ffd70066}.mcq-card-perfect:hover{background:#ffd70012;border-color:#ffd70099}.mcq-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.mcq-card-num{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mcq-card-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.mcq-card-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:.5rem}.mcq-card-topics{display:flex;flex-wrap:wrap;gap:.35rem}.mcq-card-score{background:#10b9811a;border-radius:6px;bottom:1rem;color:#10b981;font-size:.85rem;font-weight:700;padding:.2rem .6rem;position:absolute;right:1rem}.mcq-score-perfect{background:#fbbf241f;border:1px solid #fbbf2440;color:#fbbf24}.mcq-topic-pill{background:#38bdf81a;border:1px solid #38bdf833;border-radius:20px;color:#38bdf8;font-size:.7rem;font-weight:600;padding:.2rem .5rem}.mcq-diff-badge{border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.mcq-diff-easy{background:#10b9811f;border:1px solid #10b98140;color:#10b981}.mcq-diff-medium{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b}.mcq-diff-hard{background:#ef44441f;border:1px solid #ef444440;color:#ef4444}.mcq-diff-mixed{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.mcq-guest-banner{background:#a855f714;border:1px solid #a855f733;border-radius:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;padding:.75rem 1.25rem}.mcq-guest-cta{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-top:2rem;padding:2.5rem 2rem;text-align:center}.mcq-guest-cta h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.mcq-guest-cta p{color:var(--text-secondary);line-height:1.6;margin:0 auto 1.5rem;max-width:500px}.mcq-cta-sub{color:var(--text-secondary)!important;font-size:.85rem;margin-top:1rem!important}.mcq-cta-sub a{color:var(--primary-color);text-decoration:none}.mcq-cta-sub a:hover{text-decoration:underline}.mcq-quiz-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.mcq-back-btn{white-space:nowrap}.mcq-quiz-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.15rem}.mcq-q-counter{color:var(--text-secondary);font-size:.85rem}.mcq-dots{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.mcq-dot{background:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;font-size:0;height:32px;transition:all .2s;width:32px}.mcq-dot.active{background:#00b50926;border-color:var(--primary-color)}.mcq-dot.answered{background:#38bdf826;border-color:#38bdf866}.mcq-dot.active.answered{background:#00b50926;border-color:var(--primary-color)}.mcq-question-text{color:var(--text-primary);font-size:1.05rem;font-weight:600;line-height:1.6;margin-bottom:1rem}.mcq-code-block{border:1px solid #ffffff1a;border-radius:10px;margin-bottom:1.25rem;overflow:hidden}.mcq-code-block pre{border-radius:0!important;margin:0!important}.mcq-code-block-small{margin-bottom:1rem}.mcq-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.mcq-option{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;text-align:left;transition:all .15s;width:100%}.mcq-option:hover{background:#38bdf80a;border-color:#38bdf866}.mcq-option.selected{background:#3b82f614;border-color:#3b82f6}.mcq-option-label{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.82rem;font-weight:700;height:32px;justify-content:center;transition:all .15s;width:32px}.mcq-option.selected .mcq-option-label{background:#3b82f633;border-color:#3b82f6;color:#60a5fa}.mcq-option-text{color:var(--text-primary);flex:1 1;font-size:.92rem;line-height:1.5;min-width:0}.mcq-option-text>pre{box-sizing:border-box;margin:0;max-width:100%;width:100%}.mcq-option:has(.mcq-option-text>pre){align-items:flex-start}.mcq-options-results .mcq-option-result{cursor:default}.mcq-options-results .mcq-option-result:hover{background:var(--bg-color);border-color:var(--border-color)}.mcq-option-result.correct{background:#10b98114;border-color:#10b981}.mcq-option-result.correct .mcq-option-label{background:#10b98133;border-color:#10b981;color:#34d399}.mcq-option-result.wrong{background:#ef444414;border-color:#ef4444}.mcq-option-result.wrong .mcq-option-label{background:#ef444433;border-color:#ef4444;color:#f87171}.mcq-option-badge{border-radius:20px;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.correct-badge{background:#10b98126;border:1px solid #10b9814d;color:#10b981}.wrong-badge{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}.mcq-hint-area{margin-bottom:1.5rem}.mcq-hint-box,.mcq-hint-btn{font-size:.85rem}.mcq-hint-box{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;color:var(--text-secondary);line-height:1.6;padding:.75rem 1rem}.mcq-hint-box strong{color:#f59e0b}.mcq-nav{display:flex;gap:1rem;justify-content:space-between}.mcq-submit-wrap{display:inline-flex;position:relative}.mcq-submit-wrap[data-tooltip]:after{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #0009;color:#e2e8f0;content:attr(data-tooltip);font-size:.8rem;font-weight:400;line-height:1.5;opacity:0;padding:.55rem .85rem;pointer-events:none;position:absolute;right:0;text-align:center;transform:translateY(4px);transition:opacity .2s,transform .2s;width:240px;z-index:50}.mcq-submit-wrap[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.mcq-submit-disabled{cursor:not-allowed}.mcq-leave-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.mcq-leave-modal{animation:mcqLeaveIn .2s ease;background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #ffffff1f;border-radius:12px;max-width:400px;padding:1.75rem 2rem;width:100%}@keyframes mcqLeaveIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mcq-leave-modal h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 .5rem}.mcq-leave-modal p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.mcq-leave-actions{display:flex;gap:.75rem}.mcq-leave-actions .btn{flex:1 1}.mcq-score-banner{align-items:center;border:1px solid;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem;padding:1.25rem 1.5rem}.mcq-score-banner.perfect{background:#052e16;border-color:#166534}.mcq-score-banner.good{background:#1c2f1c;border-color:#2d5a2d}.mcq-score-banner.retry{background:#2d1a00;border-color:#7c3500}.mcq-score-num{color:var(--primary-color);font-size:2rem;font-weight:800;white-space:nowrap}.mcq-score-pct{color:var(--text-secondary);font-size:1.25rem;font-weight:700;opacity:.8}.mcq-score-label{color:var(--text-primary);flex:1 1;font-size:1rem}.mcq-result-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.mcq-result-correct{border-left:3px solid #10b981}.mcq-result-wrong{border-left:3px solid #ef4444}.mcq-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.mcq-result-q{color:var(--text-primary);font-weight:700}.mcq-result-icon{font-size:1.25rem;font-weight:800}.mcq-result-icon.correct{color:#10b981}.mcq-result-icon.wrong{color:#ef4444}.mcq-result-question-text{color:var(--text-primary);font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.mcq-explanation{background:var(--bg-secondary);border-left:3px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-top:.75rem;padding:.75rem 1rem}.mcq-explanation strong{color:var(--text-primary)}.mcq-results-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.mcq-related-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;margin-top:3rem;padding:1.75rem 2rem;text-align:center}.mcq-related-section h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.mcq-related-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem}.mcq-related-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.mcq-related-btn{display:inline-block}@media (max-width:768px){.mcq-practice-page{padding:2rem 1rem}.mcq-title{font-size:1.5rem}.mcq-quiz-grid{grid-template-columns:1fr}.mcq-progress-row{align-items:flex-start;flex-direction:column}.mcq-continue-btn{text-align:center;width:100%}.mcq-quiz-header{flex-direction:column}.mcq-option{padding:.75rem .85rem}.mcq-option-label{font-size:.75rem;height:28px;width:28px}.mcq-option-text{font-size:.85rem}.mcq-code-block{border-radius:8px}.mcq-related-links{align-items:center;flex-direction:column}.mcq-related-btn{text-align:center;width:100%}.mcq-results-actions{flex-direction:column}.mcq-results-actions .btn{text-align:center;width:100%}.mcq-submit-wrap[data-tooltip]:after{display:none}}.frq-practice-page{margin:0 auto;max-width:1100px;padding:32px 24px 96px}.frq-practice-gate,.frq-practice-page{color:#e4e4e7;color:var(--frq-text,#e4e4e7)}.frq-practice-gate{padding:80px 24px;text-align:center}.frq-practice-gate h1{color:#00b509;color:var(--frq-primary,#00b509)}.frq-practice-cta{background:#00b509;background:var(--frq-primary,#00b509);border-radius:8px;color:#fff;display:inline-block;font-weight:600;margin-top:16px;padding:12px 24px;text-decoration:none}.frq-practice-cta:hover{filter:brightness(1.08)}.frq-practice-error,.frq-practice-loading{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);padding:40px 16px;text-align:center}.frq-practice-error{color:#ef4444;color:var(--frq-danger,#ef4444)}.frq-practice-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff1a);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:24px;padding-bottom:24px}.frq-practice-header h1{color:#00b509;color:var(--frq-primary,#00b509);font-size:32px;margin:0 0 8px}.frq-practice-subtitle{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);line-height:1.5;margin:0;max-width:600px}.frq-practice-stats{display:flex;gap:24px}.frq-practice-stat{align-items:center;display:flex;flex-direction:column;min-width:80px}.frq-practice-stat-num{color:#00b509;color:var(--frq-primary,#00b509);font-size:28px;font-weight:700}.frq-practice-stat-label{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.frq-practice-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.frq-practice-tab{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:999px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .12s,border-color .12s,color .12s}.frq-practice-tab:hover{background:#232342;background:var(--frq-surface-elevated,#232342);border-color:#fff3;border-color:var(--frq-border-strong,#fff3)}.frq-practice-tab.is-active{background:#00b509;background:var(--frq-primary,#00b509);border-color:#00b509;border-color:var(--frq-primary,#00b509);color:#fff}.frq-practice-tab-count{background:#ffffff1a;border-radius:999px;display:inline-block;font-size:12px;margin-left:6px;padding:1px 8px}.frq-practice-tab.is-active .frq-practice-tab-count{background:#ffffff40}.frq-practice-types{display:flex;flex-direction:column;gap:40px}.frq-practice-type-section{display:block}.frq-practice-type-header h2{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:22px;margin:0 0 4px}.frq-practice-type-header p{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:14px;margin:0 0 16px}.frq-practice-empty{color:#6b7280;color:var(--frq-text-faint,#6b7280);font-style:italic;padding:16px 0}.frq-practice-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.frq-practice-item-link,.frq-practice-item-link:active,.frq-practice-item-link:focus,.frq-practice-item-link:hover,.frq-practice-item-link:visited{text-decoration:none!important}.frq-practice-item-link{align-items:center;background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:10px;color:inherit;display:flex;gap:16px;justify-content:space-between;padding:16px 20px;transition:border-color .12s,box-shadow .12s,transform .12s,background .12s}.frq-practice-item-link:hover{background:#232342;background:var(--frq-surface-elevated,#232342);border-color:#00b5094d;border-color:var(--frq-primary-border,#00b5094d);box-shadow:0 2px 12px #00b5091f;transform:translateY(-1px)}.frq-practice-item-link:hover .frq-practice-item-main h3,.frq-practice-item-link:hover h3{text-decoration:none}.frq-practice-item-main h3{color:#00b509;color:var(--frq-primary,#00b509);font-size:17px;margin:0 0 4px}.frq-practice-item-meta{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.frq-practice-source{font-weight:500}.frq-practice-parts,.frq-practice-points{color:#6b7280;color:var(--frq-text-faint,#6b7280)}.frq-practice-item-score{min-width:110px;text-align:right}.frq-practice-score-num{color:#e4e4e7;color:var(--frq-text,#e4e4e7);display:block;font-size:18px;font-weight:700}.frq-practice-score-pct{color:#00b509;color:var(--frq-primary,#00b509);display:block;font-size:13px;font-weight:600}.frq-practice-attempt-count{color:#6b7280;color:var(--frq-text-faint,#6b7280);display:block;font-size:11px;margin-top:2px}.frq-practice-not-started{color:#6b7280;color:var(--frq-text-faint,#6b7280);display:inline-block;font-size:13px;font-style:italic}.frq-session-crumb{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:13px;margin-bottom:16px}.frq-session-crumb a{color:#60a5fa;color:var(--frq-accent,#60a5fa);text-decoration:none}.frq-session-crumb a:hover{text-decoration:underline}.frq-session-crumb-divider{color:#6b7280;color:var(--frq-text-faint,#6b7280);margin:0 8px}.frq-session-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff1a);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.frq-session-header h1{color:#00b509;color:var(--frq-primary,#00b509);font-size:28px;margin:0 0 4px}.frq-session-meta{align-items:center;color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);display:flex;flex-wrap:wrap;font-size:14px;gap:10px;margin:0}.frq-session-type-badge{background:#3b82f626;background:var(--frq-accent-bg,#3b82f626);border:1px solid #3b82f64d;border:1px solid var(--frq-accent-border,#3b82f64d);border-radius:999px;color:#60a5fa;color:var(--frq-accent,#60a5fa);font-size:12px;font-weight:600;padding:2px 10px}.frq-session-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.frq-session-last-attempt{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:8px;padding:12px 16px;text-align:right}.frq-session-last-attempt-label{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.frq-session-last-attempt-score{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:18px;font-weight:700}.frq-session-last-attempt-num{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:12px;font-weight:400}.frq-session-instructions{background:#eab3081f;background:var(--frq-warn-bg,#eab3081f);border-left:4px solid #facc15;border-left:4px solid var(--frq-warn-text,#facc15);border-radius:4px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:14px;line-height:1.5;margin:16px 0 24px;padding:12px 16px}.frq-session-instructions strong{color:#facc15;color:var(--frq-warn-text,#facc15)}.frq-prompt{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);line-height:1.6;margin-bottom:16px;padding:16px 20px}.frq-prompt p{margin:0 0 12px}.frq-prompt p:last-child{margin-bottom:0}.frq-part-prompt code,.frq-prompt code{background:#232342;background:var(--frq-surface-elevated,#232342);border-radius:3px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:.92em;padding:1px 5px}.frq-prompt ol,.frq-prompt ul{margin:8px 0 12px;padding-left:1.6rem}.frq-prompt li{margin:.2rem 0}.frq-prompt pre{background:#0b1020;background:var(--frq-code-bg,#0b1020);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text,#e2e8f0);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14.5px;line-height:1.55;overflow-x:auto;padding:12px 14px}.frq-stub{margin:0 0 24px}.frq-canonical-solution-label,.frq-part-editor-label,.frq-rubric-label,.frq-stub-label{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.frq-stub pre{background:#0b1020;background:var(--frq-code-bg,#0b1020);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text,#e2e8f0);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.6;overflow-x:auto;padding:14px 18px}.frq-part,.frq-stub pre{border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a)}.frq-part{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border-radius:12px;margin:32px 0;padding:20px 24px}.frq-part-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.frq-part-header h2{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:18px;margin:0}.frq-part-points-live{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f);border:1px solid #22c55e59;border:1px solid var(--frq-earned-border,#22c55e59);border-radius:999px;color:#4ade80;color:var(--frq-earned-text,#4ade80);font-size:14px;font-weight:700;padding:4px 12px}.frq-part-prompt{background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:14px;line-height:1.55;margin-bottom:16px;padding:12px 16px}.frq-part-prompt ol,.frq-part-prompt ul{margin:6px 0 8px;padding-left:1.6rem}.frq-part-prompt li{margin:.18rem 0}.frq-part-prompt pre{background:#0b1020;background:var(--frq-code-bg,#0b1020);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text,#e2e8f0);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14.5px;line-height:1.55;overflow-x:auto;padding:12px 16px}.frq-part-editor{margin:16px 0}.frq-canonical-solution{margin-top:20px}.frq-canonical-solution pre{background:#052e24;background:var(--frq-solution-bg,#052e24);border:1px solid #22c55e59;border:1px solid var(--frq-earned-border,#22c55e59);border-radius:6px;color:#d1fae5;color:var(--frq-solution-text,#d1fae5);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.6;overflow-x:auto;padding:14px 18px}.frq-rubric{margin-top:18px}.frq-rubric-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.frq-rubric-item{background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;padding:8px 12px;transition:background .12s,border-color .12s}.frq-rubric-item.is-checked{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f);border-color:#22c55e59;border-color:var(--frq-earned-border,#22c55e59)}.frq-rubric-item label{grid-gap:10px;align-items:baseline;color:#e4e4e7;color:var(--frq-text,#e4e4e7);cursor:pointer;display:grid;font-size:14px;gap:10px;grid-template-columns:20px 36px auto 1fr;line-height:1.45}.frq-rubric-item input[type=checkbox]{accent-color:#00b509;accent-color:var(--frq-primary,#00b509);cursor:pointer;height:18px;width:18px}.frq-rubric-points{color:#4ade80;color:var(--frq-earned-text,#4ade80);font-size:13px;font-weight:700;text-align:right}.frq-rubric-skill{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:11px;white-space:nowrap}.frq-rubric-desc{color:#e4e4e7;color:var(--frq-text,#e4e4e7)}.frq-session-actions{align-items:center;background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:12px;display:flex;gap:16px;justify-content:flex-end;margin-top:24px;padding:16px 20px}.frq-session-totals{align-items:baseline;display:flex;gap:8px}.frq-session-totals-label{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:13px}.frq-session-totals-num{color:#4ade80;color:var(--frq-earned-text,#4ade80);font-size:20px;font-weight:700}.frq-session-btn{background:#232342;background:var(--frq-surface-elevated,#232342);border:1px solid #fff3;border:1px solid var(--frq-border-strong,#fff3);border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);cursor:pointer;display:inline-block;font-size:15px;font-weight:600;padding:10px 22px;text-decoration:none;transition:background .12s,border-color .12s}.frq-session-btn:hover{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border-color:#00b5094d;border-color:var(--frq-primary-border,#00b5094d)}.frq-session-btn-primary{color:#fff}.frq-session-btn-primary,.frq-session-btn-primary:hover{background:#00b509;background:var(--frq-primary,#00b509);border-color:#00b509;border-color:var(--frq-primary,#00b509)}.frq-session-btn-primary:hover{filter:brightness(1.1)}.frq-session-btn:disabled{cursor:not-allowed;opacity:.5}.frq-result-panel{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f);border:2px solid #22c55e59;border:2px solid var(--frq-earned-border,#22c55e59);border-radius:12px;margin-top:32px;padding:32px;text-align:center}.frq-result-panel h2{color:#4ade80;color:var(--frq-earned-text,#4ade80);margin:0 0 16px}.frq-result-score{align-items:baseline;display:flex;gap:16px;justify-content:center;margin-bottom:12px}.frq-result-score-num{color:#4ade80;color:var(--frq-earned-text,#4ade80);font-size:48px;font-weight:700}.frq-result-score-pct{color:#00b509;color:var(--frq-primary,#00b509);font-size:24px;font-weight:600}.frq-result-note{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);margin-bottom:20px}.frq-result-actions{display:flex;gap:12px;justify-content:center}@media (max-width:760px){.frq-practice-header{align-items:stretch;flex-direction:column}.frq-practice-stats{flex-wrap:wrap}.frq-practice-item-link{align-items:flex-start;flex-direction:column}.frq-practice-item-score{text-align:left}.frq-session-header{flex-direction:column}.frq-session-last-attempt{text-align:left}.frq-session-actions{align-items:stretch;flex-direction:column}.frq-rubric-item label{grid-template-columns:20px auto 1fr}.frq-rubric-skill{grid-column:2/-1}}.frq-teacher-review{max-width:1400px}.frq-teacher-matrix-wrap{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:10px;margin:16px 0 32px;overflow-x:auto}.frq-teacher-matrix{border-collapse:initial;border-spacing:0;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:13px;width:100%}.frq-teacher-matrix td,.frq-teacher-matrix th{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff1a);border-right:1px solid #ffffff1a;border-right:1px solid var(--frq-border,#ffffff1a);padding:6px 8px;text-align:center;white-space:nowrap}.frq-teacher-matrix th{background:#232342;background:var(--frq-surface-elevated,#232342);color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-weight:600}.frq-teacher-matrix-corner{background:#232342!important;background:var(--frq-surface-elevated,#232342)!important;min-width:160px;z-index:2}.frq-teacher-matrix-corner,.frq-teacher-matrix-student{left:0;padding:10px 14px!important;position:-webkit-sticky;position:sticky;text-align:left}.frq-teacher-matrix-student{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-weight:500;z-index:1}.frq-teacher-col-title{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:12px;font-weight:600;margin:0 auto;max-width:130px;white-space:normal}.frq-teacher-col-meta{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:10px;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.frq-teacher-cell{padding:4px}.frq-teacher-cell-empty{color:#6b7280;color:var(--frq-text-faint,#6b7280)}.frq-teacher-col-highlighted{background:#3b82f626!important;background:var(--frq-accent-bg,#3b82f626)!important;border-bottom-color:#60a5fa!important;border-bottom-color:var(--frq-accent,#60a5fa)!important}.frq-teacher-cell-highlighted{background:#3b82f626;background:var(--frq-accent-bg,#3b82f626)}.frq-teacher-col-tag{color:#60a5fa;color:var(--frq-accent,#60a5fa);display:inline-block;font-weight:600;margin-left:4px}.frq-teacher-cell-btn{align-items:center;background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);cursor:pointer;display:flex;flex-direction:column;font-size:11px;gap:2px;min-width:70px;padding:6px 8px;transition:background .12s,border-color .12s;width:100%}.frq-teacher-cell-btn:hover{background:#232342;background:var(--frq-surface-elevated,#232342);border-color:#fff3;border-color:var(--frq-border-strong,#fff3)}.frq-teacher-cell-btn.is-selected{background:#00b50926;background:var(--frq-primary-bg,#00b50926);border-color:#00b509;border-color:var(--frq-primary,#00b509)}.frq-teacher-cell-btn.tone-good{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f);border-color:#22c55e59;border-color:var(--frq-earned-border,#22c55e59)}.frq-teacher-cell-btn.tone-okay{background:#eab3081f;background:var(--frq-warn-bg,#eab3081f);border-color:#eab30859}.frq-teacher-cell-btn.tone-low{background:#ef44441f;background:var(--frq-danger-bg,#ef44441f);border-color:#ef44444d;border-color:var(--frq-danger-border,#ef44444d)}.frq-teacher-cell-score{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:13px;font-weight:700}.frq-teacher-cell-pct{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:11px}.frq-teacher-cell-attempts{color:#6b7280;color:var(--frq-text-faint,#6b7280);font-size:10px}.frq-teacher-detail{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border-left:1px solid #fff3;border-left:1px solid var(--frq-border-strong,#fff3);bottom:0;box-shadow:-4px 0 18px #0006;color:#e4e4e7;color:var(--frq-text,#e4e4e7);display:flex;flex-direction:column;position:fixed;right:0;top:56px;width:min(640px,92vw);z-index:50}.frq-teacher-detail-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff1a);display:flex;justify-content:space-between;padding:16px 20px}.frq-teacher-detail-header h2{color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:18px;margin:0}.frq-teacher-detail-close{background:none;border:none;border-radius:4px;color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);cursor:pointer;font-size:26px;line-height:1;padding:4px 10px}.frq-teacher-detail-close:hover{background:#232342;background:var(--frq-surface-elevated,#232342);color:#e4e4e7;color:var(--frq-text,#e4e4e7)}.frq-teacher-detail-body{flex:1 1;overflow-y:auto;padding:16px 20px 32px}.frq-teacher-detail-meta{background:#0f0f23;background:var(--frq-surface-2,#0f0f23);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:8px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:14px;margin-bottom:16px;padding:12px 14px}.frq-teacher-detail-meta-sub{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);display:block;font-size:12px;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.frq-teacher-detail-score{font-size:14px;margin-top:8px}.frq-teacher-detail-attempt-num,.frq-teacher-detail-time{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:12px;margin-left:6px}.frq-teacher-detail-part{margin:20px 0}.frq-teacher-detail-part h3{align-items:baseline;color:#e4e4e7;color:var(--frq-text,#e4e4e7);display:flex;font-size:15px;justify-content:space-between;margin:0 0 8px}.frq-teacher-detail-part-score{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f);border:1px solid #22c55e59;border:1px solid var(--frq-earned-border,#22c55e59);border-radius:999px;color:#4ade80;color:var(--frq-earned-text,#4ade80);font-size:13px;font-weight:700;padding:2px 10px}.frq-teacher-detail-code pre{background:#0b1020;background:var(--frq-code-bg,#0b1020);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:6px;color:#e2e8f0;color:var(--frq-code-text,#e2e8f0);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14.5px;line-height:1.6;margin:4px 0 12px;overflow-x:auto;padding:14px 16px}.frq-teacher-detail-rubric ul{list-style:none;margin:4px 0 12px;padding:0}.frq-teacher-detail-rubric li{grid-gap:8px;align-items:baseline;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--frq-border,#ffffff1a);border-radius:4px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);display:grid;font-size:13px;gap:8px;grid-template-columns:20px 36px auto 1fr;padding:4px 8px}.frq-teacher-detail-rubric li.is-checked{background:#22c55e1f;background:var(--frq-earned-bg,#22c55e1f)}.frq-teacher-detail-rubric li.is-unchecked{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa)}.frq-teacher-detail-rubric-mark{font-weight:700}.frq-teacher-detail-rubric li.is-checked .frq-teacher-detail-rubric-mark{color:#4ade80;color:var(--frq-earned-text,#4ade80)}.frq-teacher-detail-rubric li.is-unchecked .frq-teacher-detail-rubric-mark{color:#ef4444;color:var(--frq-danger,#ef4444)}.frq-teacher-detail-rubric-pts{color:#4ade80;color:var(--frq-earned-text,#4ade80);font-weight:600;text-align:right}.frq-teacher-detail-rubric-skill{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:11px}.frq-teacher-detail-canonical{margin-top:8px}.frq-teacher-detail-canonical summary{color:#60a5fa;color:var(--frq-accent,#60a5fa);cursor:pointer;font-size:12px;font-weight:600;padding:6px 0}.frq-teacher-detail-canonical pre{background:#052e24;background:var(--frq-solution-bg,#052e24);border:1px solid #22c55e59;border:1px solid var(--frq-earned-border,#22c55e59);border-radius:6px;color:#d1fae5;color:var(--frq-solution-text,#d1fae5);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14.5px;line-height:1.6;overflow-x:auto;padding:14px 16px}.frq-practice-removed-pill{background:#ef44441f;background:var(--frq-danger-bg,#ef44441f);border:1px solid #ef44444d;border:1px solid var(--frq-danger-border,#ef44444d);border-radius:999px;color:#ef4444;color:var(--frq-danger,#ef4444);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-left:10px;padding:2px 10px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.frq-practice-removed-meta,.frq-session-removed-meta{color:#ef4444;color:var(--frq-danger,#ef4444);font-style:italic}.frq-practice-attribution{background:#1a1a2e;background:var(--frq-surface-1,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--frq-border,#ffffff1a);border-radius:8px;color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);display:block;font-size:13px;line-height:1.55;margin:16px 0 32px;padding:12px 16px}.frq-practice-attribution strong{color:#e4e4e7;color:var(--frq-text,#e4e4e7)}.frq-teacher-scope-tag{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:.72em;font-weight:500;margin-left:4px}.lockdown-topic-group{margin-bottom:16px}.lockdown-topic-group:last-child{margin-bottom:0}.lockdown-topic-group-label{color:#00b509;color:var(--frq-primary,#00b509);font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.lockdown-topics-empty{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);font-size:14px;font-style:italic;padding:8px 0}.frq-ai-panel{background:#1c1c26;background:var(--frq-panel,#1c1c26);border:1px solid #2a2a3a;border:1px solid var(--frq-border,#2a2a3a);border-radius:10px;margin:24px 0;padding:16px 18px}.frq-ai-panel-paid{background:linear-gradient(180deg,#6366f114,#6366f105);border-color:#6366f173}.frq-ai-panel-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px 18px}.frq-ai-grade-btn{-webkit-appearance:none;appearance:none;background:linear-gradient(180deg,#6366f1,#4f46e5);border:0;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 6px #4f46e559;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;letter-spacing:.01em;padding:10px 18px;transition:filter .15s ease,transform .05s ease}.frq-ai-grade-btn:hover:not(:disabled){filter:brightness(1.08)}.frq-ai-grade-btn:active:not(:disabled){transform:translateY(1px)}.frq-ai-grade-btn:disabled{background:linear-gradient(180deg,#3f3f46,#27272a);box-shadow:none;cursor:not-allowed;opacity:.55}.frq-ai-panel-hint{color:#a1a1aa;color:var(--frq-text-muted,#a1a1aa);flex:1 1 280px;font-size:.85rem;line-height:1.45}.frq-ai-panel-error,.frq-ai-panel-quota{border-radius:6px;font-size:.85rem;line-height:1.4;margin-top:10px;padding:8px 12px}.frq-ai-panel-error{background:#ef44441f;border:1px solid #ef44444d;color:#fca5a5}.frq-ai-panel-quota{background:#f59e0b1f;border:1px solid #f59e0b4d;color:#fcd34d}.frq-ai-upsell{background:linear-gradient(180deg,#00b50914,#00b50905);border-color:#00b50966}.frq-ai-upsell-headline{align-items:center;color:#e4e4e7;color:var(--frq-text,#e4e4e7);display:flex;flex-wrap:wrap;font-size:1.02rem;gap:10px;margin-bottom:8px}.frq-ai-upsell-spark{font-size:1.2rem}.frq-ai-upsell-badge{background:#00b5092e;border:1px solid #00b50966;border-radius:999px;color:#4ade80;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.frq-ai-upsell-body{color:#c7c7d0;color:var(--frq-text-muted,#c7c7d0);font-size:.9rem;line-height:1.5;margin:0 0 14px}.frq-ai-upsell-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px}.frq-ai-upsell-cta{background:linear-gradient(180deg,#4ade80,#22c55e);border-radius:8px;box-shadow:inset 0 1px 0 #ffffff26,0 1px 6px #22c55e59;color:#052e0a;display:inline-block;font-size:.92rem;font-weight:700;padding:9px 16px;text-decoration:none;transition:filter .15s ease}.frq-ai-upsell-cta:hover{filter:brightness(1.06)}.frq-ai-upsell-fine{color:#9ca3af;color:var(--frq-text-muted,#9ca3af);font-size:.8rem}.frq-ai-part-reasoning{background:#6366f114;border-left:3px solid #6366f1a6;border-radius:4px;color:#e4e4e7;color:var(--frq-text,#e4e4e7);font-size:.86rem;line-height:1.45;margin:6px 0 12px;padding:8px 12px}.frq-ai-part-reasoning-tag{color:#a5b4fc;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-right:8px;text-transform:uppercase}.frq-ai-item-feedback{align-items:flex-start;border-radius:5px;display:flex;font-size:.82rem;gap:8px;line-height:1.4;margin-left:28px;margin-top:6px;padding:6px 10px}.frq-ai-item-feedback.is-earned{background:#22c55e1a;border:1px solid #22c55e47;color:#bbf7d0}.frq-ai-item-feedback.is-missed{background:#ef44441a;border:1px solid #ef444447;color:#fecaca}.frq-ai-item-mark{flex:0 0 auto;font-weight:800;min-width:14px;text-align:center}.frq-ai-item-text{flex:1 1 auto}.frq-ai-item-verdict{font-size:.74rem;letter-spacing:.03em;margin-right:4px;opacity:.85;text-transform:uppercase}.java-runner{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;overflow:hidden}.java-runner-toolbar{align-items:center;background:#1a1a1a;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.5rem .75rem;min-width:0;padding:.6rem .9rem}.java-runner-btn{border:0;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;padding:.45rem 1rem;transition:background .12s,transform .12s}.java-runner-btn:disabled{cursor:not-allowed;opacity:.45}.java-runner-run{background:var(--primary-color);color:#000}.java-runner-run:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.java-runner-abort{background:var(--error-color);color:#fff}.java-runner-abort:hover{background:#f87171}.java-runner-status{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;margin-left:auto}.java-runner-last-modified{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;color:#ffffff8c;cursor:help;display:inline-flex;font-size:.78rem;gap:.35rem;margin-left:auto;padding:.3rem .55rem;-webkit-user-select:none;user-select:none;white-space:nowrap}.java-runner-last-modified-icon{opacity:.7}.java-runner-last-modified-label{letter-spacing:.02em}.java-runner-last-modified-value{font-feature-settings:"tnum";color:#ffffffd9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.java-runner-last-modified~.java-runner-status{margin-left:0}@media (max-width:600px){.java-runner-last-modified-label{display:none}}.java-runner-ok{color:var(--success-color)}.java-runner-err{color:#fca5a5}.java-runner-input-hint{color:#fbbf24;font-style:italic}.java-runner-budget-hint{color:#ffffff59;font-size:.78rem;margin-left:.75rem}.java-runner-format,.java-runner-fullscreen,.java-runner-reset,.java-runner-save,.java-runner-share,.java-runner-templates-toggle,.java-runner-wrap{background:#2a2a2a;border:1px solid #3f3f46;color:#e4e4e7}.java-runner-share.is-copied{background:#00b50938;border-color:#00b509a6;box-shadow:0 0 0 2px #00b5092e;color:#d1fae5;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.java-runner-format:hover:not(:disabled),.java-runner-fullscreen:hover:not(:disabled),.java-runner-reset:hover:not(:disabled),.java-runner-save:hover:not(:disabled),.java-runner-share:hover:not(:disabled),.java-runner-templates-toggle:hover:not(:disabled),.java-runner-wrap:hover:not(:disabled){background:#3a3a3a;border-color:#52525b;transform:translateY(-1px)}.java-runner-fullscreen.is-on,.java-runner-wrap.is-on{background:#00b50926;border-color:#00b50980;color:#00b509;color:var(--primary-color,#00b509)}.java-runner-fullscreen.is-on:hover:not(:disabled),.java-runner-wrap.is-on:hover:not(:disabled){background:#00b50938}.java-runner-templates{position:relative}.java-runner-templates-menu{background:#1a1a1a;border:1px solid #3f3f46;border-radius:6px;box-shadow:0 8px 24px #0009;display:flex;flex-direction:column;left:0;min-width:12rem;padding:.3rem 0;position:absolute;top:calc(100% + .3rem);z-index:30}.java-runner-templates-item{background:#0000;border:0;color:#e4e4e7;cursor:pointer;font-size:.85rem;padding:.55rem .9rem;text-align:left}.java-runner-templates-item:hover{background:#58a6ff1f}.jr-file-tabs{align-items:stretch;background:#111;border-bottom:1px solid var(--border-color);display:flex;gap:0;overflow-x:auto;scrollbar-width:thin}.jr-file-tab{align-items:center;background:#161616;border-right:1px solid var(--border-color);border-top:2px solid #0000;color:var(--text-secondary);display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;gap:.25rem;padding:0 .25rem 0 .75rem;transition:background .12s,color .12s,border-color .12s}.jr-file-tab:hover{background:#1f1f1f;color:var(--text-primary)}.jr-file-tab.active{background:var(--bg-color);border-top-color:var(--primary-color);color:var(--text-primary)}.jr-file-tab-name{color:inherit;font:inherit;max-width:12rem;overflow:hidden;padding:.5rem .25rem .5rem 0;text-overflow:ellipsis;white-space:nowrap}.jr-file-tab-close,.jr-file-tab-name{background:#0000;border:0;cursor:pointer}.jr-file-tab-close{align-items:center;border-radius:3px;color:#a1a1aa;display:flex;font-size:1rem;height:1.2rem;justify-content:center;line-height:1;padding:0;width:1.2rem}.jr-file-tab-close:hover{background:#3a1818;color:#fca5a5}.jr-file-tab-add{background:#0000;border:0;border-right:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;padding:0 .75rem;transition:background .12s,color .12s}.jr-file-tab-add:hover{background:#1f1f1f;color:var(--primary-color)}.java-runner-editor-wrap{background:var(--bg-color)}.java-runner-tabs{background:#1a1a1a;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:flex;gap:0}.jr-tab{background:#0000;border:0;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem 1rem;transition:color .12s,border-color .12s}.jr-tab.active,.jr-tab:hover{color:var(--text-primary)}.jr-tab.active{border-bottom-color:var(--primary-color)}.jr-tab.has-error{color:#fca5a5}.jr-tab.active.has-error{border-bottom-color:var(--error-color);color:#fca5a5}.java-runner-output{background:var(--bg-secondary);max-height:420px;overflow:auto}.jr-stderr,.jr-stdout{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.55;margin:0;min-height:4.5rem;padding:1rem;white-space:pre-wrap;word-break:break-word}.jr-stderr{color:#fca5a5}.jr-empty{color:#94a3b8;font-style:italic}.jr-console,.jr-console-section{display:flex;flex-direction:column}.jr-console-section+.jr-console-section{border-top:1px dashed var(--border-color)}.jr-console-label{align-items:baseline;background:#161616;border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:.72rem;font-weight:700;gap:.75rem;justify-content:space-between;letter-spacing:.06em;padding:.55rem 1rem .35rem;text-transform:uppercase}.jr-console-label-static{cursor:default}.jr-console-hint{color:#a1a1aa;font-size:.68rem;font-weight:400;letter-spacing:0;text-transform:none}.jr-console-hint code{background:#222;border-radius:3px;color:#9cdcfe;padding:0 .25rem}.jr-console-hint code,.jr-stdin-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jr-stdin-input{background:#0f0f0f;border:0;box-sizing:border-box;color:var(--text-primary);font-size:.88rem;line-height:1.5;min-height:4.5rem;outline:none;padding:.75rem 1rem;resize:vertical;width:100%}.jr-stdin-input:focus{background:#131313;box-shadow:inset 0 0 0 2px var(--primary-color)}.jr-stdin-input:disabled{cursor:not-allowed;opacity:.6}.jr-terminal{background:#0b0b0b;color:var(--text-primary);cursor:text;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.55;min-height:8rem;padding:.75rem 1rem 1rem;white-space:pre-wrap;word-break:break-word}.jr-terminal-empty{color:#94a3b8;font-style:italic}.jr-terminal-out{color:var(--text-primary);white-space:pre-wrap}.jr-terminal-in{color:#9cdcfe;white-space:pre-wrap}.jr-terminal-in:before{color:var(--primary-color);content:"› ";font-weight:700}.jr-terminal-running{animation:jr-blink 1s steps(2,start) infinite;color:var(--primary-color);display:inline-block}@keyframes jr-blink{to{visibility:hidden}}.jr-terminal-input-row{align-items:center;display:flex;gap:.5rem;margin-top:.15rem;min-width:0}.jr-terminal-prompt{color:var(--primary-color);font-weight:700;-webkit-user-select:none;user-select:none}.jr-terminal-input{background:#0000;border:0;border-bottom:1px dashed var(--primary-color);color:#9cdcfe;flex:1 1;font-family:inherit;font-size:16px;line-height:inherit;min-width:0;outline:none;padding:.1rem .25rem;width:0}.jr-terminal-input::placeholder{color:#94a3b8;font-style:italic}.jr-prompt-modal-input{background:#0f0f0f;border:1px solid #2e2e2e;border:1px solid var(--border-color,#2e2e2e);border-radius:6px;box-sizing:border-box;color:#e4e4e7;color:var(--text-primary,#e4e4e7);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;margin-bottom:1.25rem;outline:none;padding:.65rem .85rem;transition:border-color .12s,box-shadow .12s;width:100%}.jr-prompt-modal-input:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 2px #00b5092e}.jr-problem-row{align-items:flex-start;background:#0f0f0f;border-left:3px solid var(--error-color);display:flex;gap:.65rem;padding:.75rem 1rem}.jr-problem-dot{background:var(--error-color);border-radius:50%;box-shadow:0 0 6px #ef444499;flex:0 0 auto;height:10px;margin-top:.4rem;width:10px}.jr-problem-body{flex:1 1 auto;min-width:0}.jr-problem-head{align-items:center;display:flex;flex-wrap:wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;gap:.5rem;margin-bottom:.35rem}.jr-problem-kind{color:#fca5a5;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.jr-problem-tag{background:#2a1515;border:1px solid #442020;border-radius:3px;color:#fca5a5;font-size:.7rem;padding:.08rem .4rem;text-transform:lowercase}.jr-problem-loc{color:var(--text-secondary);font-size:.76rem}.jr-problem-msg{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.5;margin:0;padding:0;white-space:pre-wrap;word-break:break-word}@media (max-width:640px){.java-runner-btn{font-size:.85rem;padding:.4rem .75rem}.java-runner-status{font-size:.75rem}}.java-runner.is-fullscreen.is-fullscreen{background:var(--bg-color);border:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;inset:0;max-width:none;overflow:hidden;position:fixed;z-index:9999}.java-runner.is-fullscreen.is-fullscreen .java-runner-toolbar{grid-column:1/-1;grid-row:1;position:static;top:auto}.java-runner.is-fullscreen.is-fullscreen .jr-file-tabs{grid-column:1/-1;grid-row:2;position:static;top:auto}.java-runner.is-fullscreen.is-fullscreen .java-runner-editor-wrap{align-self:stretch;display:flex;flex-direction:column;grid-column:1;grid-row:3;height:auto;min-height:0;overflow:hidden;position:static;top:auto}.java-runner.is-fullscreen.is-fullscreen .java-runner-editor-wrap>.jce-wrap{flex:1 1 auto;height:100%;min-height:0}.java-runner.is-fullscreen.is-fullscreen .java-runner-editor-wrap>.jce-wrap>.jce-textarea{height:100%;resize:none}.java-runner.is-fullscreen.is-fullscreen .jr-col-splitter{display:none}.java-runner.is-fullscreen.is-fullscreen .jr-console-column{align-self:stretch;border-top:1px solid var(--border-color);display:flex;flex-direction:column;grid-column:1;grid-row:4;height:auto;max-height:none;overflow:hidden;position:static;top:auto}.java-runner.is-fullscreen.is-fullscreen .jr-console-column .java-runner-output{flex:1 1 auto;max-height:none;min-height:0;overflow:auto}.java-runner.is-fullscreen.is-fullscreen .jr-console-column .java-runner-tabs{flex:0 0 auto}.java-runner.is-fullscreen.is-fullscreen{grid-template-rows:auto auto minmax(0,2fr) minmax(0,1fr)}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel){grid-template-rows:auto auto minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,.9fr)}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .java-debug-panel{align-self:stretch;border-bottom:1px solid var(--border-color);border-radius:0;border-top:1px solid var(--border-color);grid-column:1/-1;grid-row:4;margin:0;max-height:none}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .jr-console-column{grid-row:5}@media (min-width:1080px){.java-runner.is-fullscreen.is-fullscreen{grid-template-columns:minmax(240px,1fr) 6px clamp(320px,30vw,440px);grid-template-columns:minmax(240px,1fr) 6px var(--jpg-sidebar-w,clamp(320px,30vw,440px));grid-template-rows:auto auto minmax(0,1fr)}.java-runner.is-fullscreen.is-fullscreen .java-runner-editor-wrap{grid-column:1;grid-row:3}.java-runner.is-fullscreen.is-fullscreen .jr-col-splitter{align-self:stretch;background:var(--border-color);cursor:col-resize;display:block;grid-column:2;grid-row:3;height:auto;position:static;top:auto}.java-runner.is-fullscreen.is-fullscreen .jr-col-splitter:active,.java-runner.is-fullscreen.is-fullscreen .jr-col-splitter:hover{background:var(--primary-color)}.java-runner.is-fullscreen.is-fullscreen .jr-console-column{border-left:1px solid var(--border-color);border-top:0;grid-column:3;grid-row:3}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel){grid-template-columns:minmax(240px,1fr) 6px clamp(320px,30vw,440px);grid-template-columns:minmax(240px,1fr) 6px var(--jpg-sidebar-w,clamp(320px,30vw,440px));grid-template-rows:auto auto minmax(0,1.6fr) minmax(0,1fr)}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .java-runner-editor-wrap{grid-column:1;grid-row:3}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .java-debug-panel{align-self:stretch;border:0;border-radius:0;border-top:1px solid var(--border-color);grid-column:1;grid-row:4;margin:0;max-height:none}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .jr-col-splitter{grid-row:3/span 2}.java-runner.is-fullscreen.is-fullscreen:has(>.java-debug-panel) .jr-console-column{grid-column:3;grid-row:3/span 2}}.java-playground-page{background:var(--bg-secondary);color:var(--text-primary);min-height:100vh}.jpg-header{background:linear-gradient(135deg,#111,#000);border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:2.5rem 1.5rem 2rem}.jpg-header-inner{align-items:flex-end;display:flex;flex-wrap:wrap;gap:2rem;margin:0 auto;max-width:1200px}.jpg-label{background:#00b50926;border:1px solid #00b50959;border-radius:20px;color:var(--primary-color);display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.03em;margin-bottom:.6rem;padding:.3rem .8rem}.jpg-header h1{color:var(--text-primary);font-size:2.1rem;margin:.25rem 0 .75rem}.jpg-header p{color:var(--text-secondary);line-height:1.55;margin:0;max-width:560px}.jpg-header-actions{margin-left:auto}.jpg-header-actions .btn{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.jpg-header-actions .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jpg-mobile-banner{background:#f59e0b1f;border-bottom:1px solid #f59e0b4d;color:#fbbf24;display:none;font-size:.9rem;padding:.8rem 1rem;text-align:center}@media (max-width:640px){.jpg-mobile-banner{display:block}}.jpg-app-promo{margin:1rem auto 0;max-width:1200px;padding:0 1.5rem}.jpg-app-promo:empty{display:none}.jpg-app-promo:empty+.jpg-main{padding-top:.75rem}.jpg-main{margin:0 auto;max-width:1200px;padding:2rem 1.5rem 3rem}.jpg-editor-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.jpg-info{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.jpg-info.open{border-color:#00b50959}.jpg-info-toggle{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.5rem;padding:.7rem 1rem;text-align:left;transition:background .12s,color .12s;width:100%}.jpg-info-toggle:hover{background:#1a1a1a;color:var(--primary-color)}.jpg-info-chevron{color:var(--text-secondary);display:inline-block;font-size:.85rem;text-align:center;width:1rem}.jpg-info-badge{background:#00b5092e;border:1px solid #00b50966;border-radius:999px;color:var(--primary-color);font-size:.72rem;font-weight:700;margin-left:auto;padding:.05rem .55rem}.jpg-info-body{border-top:1px solid var(--border-color);padding:.25rem 1rem 1rem}.jpg-info-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:720px){.jpg-info-grid{grid-template-columns:1fr}}.jpg-info-col h4{align-items:baseline;color:var(--text-primary);display:flex;font-size:.9rem;gap:.5rem;margin:.85rem 0 .45rem}.jpg-info-sub{color:var(--text-secondary);font-size:.72rem;font-weight:400}.jpg-toolbar-below{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:.75rem}.jpg-cloud-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jpg-cloud-status,.jpg-side-note{color:var(--text-secondary);font-size:.85rem}.jpg-side-note{margin:0 0 .75rem}.jpg-tips{color:var(--text-secondary);font-size:.85rem;line-height:1.6;list-style:disc;margin:0;padding-left:1.2rem}.jpg-tips code{background:#1a1a1a;border-radius:3px;color:#e4e4e7;font-size:.82rem;padding:.05rem .3rem}.jpg-tips kbd{background:#1a1a1a;border:solid var(--border-color);border-radius:4px;border-width:1px 1px 2px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;padding:.05rem .35rem}.jpg-toolbar-below .btn-outline{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.jpg-toolbar-below .btn-outline:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jpg-toolbar-below-actions{display:flex;flex-wrap:wrap;gap:.5rem}.jpg-assignment-banner{background:linear-gradient(135deg,#38bdf814,#38bdf805);border:1px solid #38bdf873;border-radius:10px;color:var(--text-primary);margin-bottom:.85rem;padding:1rem 1.15rem}.jpg-assignment-banner-readonly{background:linear-gradient(135deg,#a78bfa14,#a78bfa05);border-color:#a78bfa80}.jpg-assignment-banner-error{align-items:center;background:#ef444414;border-color:#ef444480;display:flex;gap:.75rem}.jpg-assignment-banner-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.jpg-assignment-banner-label{color:#38bdf8;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:.2rem;text-transform:uppercase}.jpg-assignment-banner-readonly .jpg-assignment-banner-label{color:#a78bfa}.jpg-assignment-banner-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.jpg-assignment-banner-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.jpg-assignment-due{background:#ffffff0a;border-radius:6px;color:var(--text-secondary);font-size:.85rem;padding:.3rem .6rem}.jpg-assignment-due-past{background:#ef444426;color:#fca5a5}.jpg-submit-btn{font-weight:700}.jpg-assignment-prompt{background:#00000040;border:1px solid #ffffff0f;border-radius:8px;color:var(--text-primary);font-size:.92rem;line-height:1.55;margin-top:.7rem;padding:.7rem .9rem;white-space:pre-wrap}.jpg-assignment-prompt-details{margin-top:.55rem}.jpg-assignment-prompt-details>summary{color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.25rem 0}.jpg-assignment-status{border-radius:6px;font-size:.88rem;margin-top:.6rem;padding:.5rem .75rem}.jpg-assignment-status-ok{background:#10b98126;border:1px solid #10b98166;color:#a7f3d0}.jpg-assignment-status-err{background:#ef44441f;border:1px solid #ef444466;color:#fca5a5}.jpg-assignment-history{color:var(--text-secondary);font-size:.82rem;margin-top:.55rem}.jpg-share-toast{animation:jpgShareToastFadeIn .18s ease-out;border:1px solid #0000;border-radius:8px;box-shadow:0 8px 24px #00000059;font-size:.9rem;left:50%;line-height:1.45;max-width:min(540px,calc(100vw - 2rem));padding:.65rem 1.1rem;pointer-events:none;position:fixed;text-align:center;top:1.25rem;transform:translateX(-50%);z-index:10001}@keyframes jpgShareToastFadeIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.jpg-share-toast-ok{background:#064e3b;border-color:#10b98199;color:#d1fae5}.jpg-share-toast-err{background:#7f1d1d;border-color:#ef444499;color:#fee2e2}.jpg-snapshot-dropdown-wrap{display:flex;flex-direction:column;gap:.5rem}.jpg-snapshot-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:.45rem .65rem;width:100%}.jpg-snapshot-select:focus{border-color:var(--primary-color);outline:none}.jpg-snapshot-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.jpg-snapshot-delete-btn{background:#0000;border:1px solid #ef444473;border-radius:6px;color:#f87171;cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.28rem .65rem;transition:background .12s,border-color .12s,color .12s}.jpg-snapshot-delete-btn:hover{background:#ef444424;border-color:#ef4444;color:#fca5a5}.jpg-snapshot-upsell{color:var(--text-secondary);font-size:.82rem}.jpg-snapshot-upsell a{color:var(--primary-color);text-decoration:none}.jpg-snapshot-upsell a:hover{text-decoration:underline}.jpg-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.jpg-modal{background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.75rem;width:min(420px,90vw)}.jpg-modal-title{color:var(--text-primary);font-size:1.05rem;margin:0}.jpg-modal-desc{color:var(--text-secondary);font-size:.85rem;margin:0}.jpg-modal-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:.9rem;padding:.5rem .75rem;width:100%}.jpg-modal-input:focus{border-color:var(--primary-color);outline:none}.jpg-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.jpg-modal-mode-tabs{border:1px solid var(--border-color);border-radius:6px;display:flex;gap:0;overflow:hidden}.jpg-modal-mode-tab{background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;padding:.4rem .75rem;transition:background .15s,color .15s}.jpg-modal-mode-tab:not(:last-child){border-right:1px solid var(--border-color)}.jpg-modal-mode-tab.active{background:var(--primary-color);color:#fff;font-weight:600}.jpg-modal-mode-tab:not(.active):hover{background:var(--bg-color);color:var(--text-primary)}.jpg-upsell{grid-gap:1.25rem;background:linear-gradient(135deg,#0d0d0d,#050505);border:1px solid #00b50959;border-radius:10px;display:grid;gap:1.25rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:2rem;padding:1.6rem}@media (max-width:820px){.jpg-upsell{grid-template-columns:1fr}}.jpg-upsell-main h2{color:var(--text-primary);font-size:1.4rem;line-height:1.3;margin:.4rem 0 .6rem}.jpg-upsell-main p{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0 0 1rem}.jpg-upsell-badge{background:#00b5092e;border:1px solid #00b50966;border-radius:999px;color:var(--primary-color);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.25rem .7rem;text-transform:uppercase}.jpg-upsell-actions{display:flex;flex-wrap:wrap;gap:.6rem}.jpg-upsell-actions .btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s,transform .12s}.jpg-upsell-actions .btn-primary{background:var(--primary-color);border:1px solid var(--primary-color);color:#000}.jpg-upsell-actions .btn-primary:hover{background:#00d10b;border-color:#00d10b;transform:translateY(-1px)}.jpg-upsell-actions .btn-outline{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.jpg-upsell-actions .btn-outline:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jpg-upsell-teacher{align-self:start;background:#00b5090f;border:1px solid #00b50940;border-radius:8px;padding:1rem 1.1rem}.jpg-upsell-teacher h3{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.jpg-upsell-teacher p{color:var(--text-secondary);font-size:.85rem;line-height:1.55;margin:0 0 .85rem}.jpg-upsell-teacher .btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);display:inline-block;font-size:.85rem;font-weight:600;padding:.45rem .9rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.jpg-upsell-teacher .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.java-debug-panel{background:#0f0f0f;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);margin:.5rem 0 .75rem}.jdp-toolbar{align-items:center;background:#141414;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem .75rem}.jdp-toolbar .btn{background:#0000;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:.78rem;padding:.3rem .6rem;transition:background .12s,border-color .12s,color .12s}.jdp-toolbar .btn:hover:not(:disabled){background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jdp-toolbar .btn:disabled{cursor:not-allowed;opacity:.4}.jdp-step-label{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.jdp-line-pill{background:#00b50926;border:1px solid #00b50959;border-radius:12px;color:var(--primary-color);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.jdp-line-pill,.jdp-terminal-pill{font-weight:600;padding:.15rem .55rem}.jdp-terminal-pill{background:#94a3b81a;border:1px solid #94a3b84d;border-radius:12px;color:var(--text-secondary);font-size:.72rem}.jdp-capped{color:#f59e0b;font-size:.78rem;font-weight:600}.jdp-stop-btn{margin-left:auto}.java-debug-panel{display:flex;flex-direction:column;overflow:hidden}.jdp-toolbar{flex:0 0 auto}.jdp-body{display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.6rem .75rem .75rem}.java-debug-panel{max-height:min(50vh,480px)}.jdp-body::-webkit-resizer{background:linear-gradient(135deg,#0000,#0000 45%,#ffffff38 0,#ffffff38 55%,#0000 0,#0000 70%,#ffffff2e 0,#ffffff2e 80%,#0000 0)}.jdp-section{background:#141414;border:1px solid #ffffff0f;border-radius:6px;padding:.4rem .6rem}.jdp-section summary{color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:700;padding:.15rem 0}.jdp-section[open] summary{margin-bottom:.35rem}.jdp-empty{color:var(--text-secondary);font-size:.8rem;font-style:italic;margin:.25rem 0 0}.jdp-table{border-collapse:collapse;font-size:.82rem;width:100%}.jdp-table th{border-bottom:1px solid #ffffff0f;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.25rem .5rem;text-align:left;text-transform:uppercase}.jdp-table td{border-bottom:1px solid #ffffff08;padding:.25rem .5rem;vertical-align:top}.jdp-table .jdp-name{color:#9cdcfe}.jdp-table .jdp-name,.jdp-table .jdp-type{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jdp-table .jdp-type{color:var(--text-secondary);font-size:.76rem}.jdp-table .jdp-value{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-height:3.6em;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}@media (min-width:900px){.jdp-table .jdp-value{max-width:40ch}}.java-debug-panel .btn:focus-visible,.jdp-toolbar .btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.jdp-stack{font-size:.82rem;list-style:none;margin:0;padding:0}.jdp-stack li{border-bottom:1px solid #ffffff08;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;gap:.75rem;justify-content:space-between;padding:.3rem .45rem}.jdp-stack li:last-child{border-bottom:none}.jdp-frame-top{background:#00b50914;border-radius:4px}.jdp-frame-top .jdp-frame-method{color:var(--primary-color);font-weight:700}.jdp-frame-line{color:var(--text-secondary);font-size:.75rem}.jdp-frame-marker{color:#facc15;font-weight:700;margin-right:.25rem}.jdp-kind{border-radius:3px;display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.04em;margin-left:.4rem;padding:.05rem .35rem;text-transform:uppercase;vertical-align:middle}.jdp-kind-param{background:#60a5fa2e;border:1px solid #60a5fa59;color:#93c5fd}.jdp-kind-this{background:#facc152e;border:1px solid #facc1559;color:#facc15}.jdp-row-this .jdp-name{font-weight:700}.jdp-legend{background:#60a5fa0d;border:1px solid #60a5fa26;border-radius:4px;color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:.75rem;line-height:1.5;margin:.25rem 0 .6rem;padding:.5rem .6rem}.jdp-legend code{background:#ffffff0d;border-radius:3px;color:#e4e4e7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:.05rem .3rem}.jdp-legend strong{color:#e4e4e7;font-weight:600}.java-runner-debug{background:#f59e0b1f;border:1px solid #f59e0b66;color:#f59e0b}.java-runner-debug:hover:not(:disabled){background:#f59e0b33;border-color:#f59e0b}.java-runner-debug:disabled{cursor:not-allowed;opacity:.4}.jtest-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;margin-top:1rem;overflow:hidden}.jtest-toggle{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;padding:.85rem 1rem;text-align:left;width:100%}.jtest-toggle:hover{background:#ffffff08}.jtest-chevron{color:var(--primary-color);display:inline-block;width:1em}.jtest-summary-badge{border:1px solid var(--border-color);border-radius:999px;font-size:.78rem;font-weight:700;margin-left:auto;padding:.2rem .6rem}.jtest-summary-badge.ok{background:#10b9811a;border-color:#10b98166;color:#10b981}.jtest-summary-badge.fail{background:#ef44441a;border-color:#ef444466;color:#ef4444}.jtest-body{border-top:1px solid var(--border-color);padding:.5rem 1rem 1rem}.jtest-help{color:var(--text-secondary);font-size:.83rem;line-height:1.55;margin:.5rem 0 .85rem}.jtest-help code{background:#00b5091a;border-radius:3px;color:var(--primary-color);font-size:.8rem;padding:.05rem .35rem}.jtest-cases{display:flex;flex-direction:column;gap:.75rem}.jtest-case{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .75rem}.jtest-case-pass{background:#10b9810d;border-color:#10b98180}.jtest-case-fail{background:#ef44440d;border-color:#ef444480}.jtest-case-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.jtest-case-num{color:var(--text-secondary);font-size:.8rem;font-weight:700;white-space:nowrap}.jtest-case-desc{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);flex:1 1;font-size:.85rem;padding:.35rem .55rem}.jtest-case-status{border-radius:999px;font-size:.78rem;font-weight:700;padding:.15rem .5rem}.jtest-case-status.ok{background:#10b98126;color:#10b981}.jtest-case-status.fail{background:#ef444426;color:#ef4444}.jtest-case-run{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:4px;color:#10b981;cursor:pointer;display:inline-flex;font-size:.85rem;height:1.6rem;justify-content:center;line-height:1;width:1.6rem}.jtest-case-run:hover:not(:disabled){background:#10b9811f;border-color:#10b98180}.jtest-case-run:disabled{cursor:not-allowed;opacity:.5}.jtest-case-del{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1rem;height:1.6rem;line-height:1;width:1.6rem}.jtest-case-del:hover:not(:disabled){background:#ef44441a;border-color:#ef444466;color:#ef4444}.jtest-case-del:disabled{cursor:not-allowed;opacity:.5}.jtest-case-fields{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}@media (max-width:700px){.jtest-case-fields{grid-template-columns:1fr}}.jtest-field{display:flex;flex-direction:column;gap:.25rem}.jtest-field span{color:var(--text-secondary);font-size:.75rem;font-weight:600}.jtest-field textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;font-size:.82rem;padding:.4rem .55rem;resize:vertical}.jtest-case-msg,.jtest-field textarea{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.jtest-case-msg{background:#ef444414;border-left:3px solid #ef4444;border-radius:4px;font-size:.8rem;margin-top:.5rem;padding:.45rem .65rem;white-space:pre-wrap}.jtest-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}.jtest-summary{font-size:.83rem;font-weight:600;margin-left:auto}.jtest-summary.ok{color:#10b981}.jtest-summary.fail{color:#ef4444}.jtest-global-error{background:#ef444414;border-left:3px solid #ef4444;border-radius:4px;font-size:.85rem;margin-top:.75rem;padding:.6rem .8rem}.jdp-heap{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.jdp-heap-obj{background:#ffffff05;border:1px solid var(--border-color);border-radius:6px;padding:.4rem .55rem}.jdp-heap-instance{border-left:3px solid #38bdf8}.jdp-heap-array{border-left:3px solid #a78bfa}.jdp-heap-arraylist{border-left:3px solid #f59e0b}.jdp-heap-header{align-items:center;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;gap:.5rem;margin-bottom:.3rem}.jdp-heap-class{color:var(--text-primary);font-weight:700}.jdp-heap-id{color:var(--text-secondary);font-size:.75rem}.jdp-heap-table{border-collapse:collapse;font-size:.78rem;width:100%}.jdp-heap-table td{border-bottom:1px solid #ffffff0a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.2rem .4rem}.jdp-heap-table td.jdp-name{color:var(--text-secondary);width:35%}.jdp-heap-elems{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;list-style:none;margin:0;padding:0}.jdp-heap-elems li{display:flex;gap:.55rem;padding:.15rem .3rem}.jdp-heap-idx{color:var(--text-secondary);min-width:2.5rem}.jdp-ref{color:#38bdf8;font-weight:600}.jtest-toggle-sub{color:var(--text-secondary);font-size:.78rem;font-weight:500;margin-left:.4rem}.jtest-howto{background:#38bdf80d;border:1px solid #38bdf840;border-radius:8px;font-size:.85rem;line-height:1.55;margin-bottom:1rem;padding:.85rem 1rem}.jtest-howto h4{color:#38bdf8;font-size:.9rem;margin:0 0 .5rem}.jtest-howto-list{color:var(--text-secondary);margin:0;padding-left:1.2rem}.jtest-howto-list li{margin-bottom:.5rem}.jtest-howto-list li ul{margin-top:.3rem;padding-left:1.1rem}.jtest-howto-list code{background:#ffffff0f;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;padding:.05rem .35rem}.jtest-howto strong,.jtest-howto-list code{color:var(--text-primary)}.jtest-howto-example{border-top:1px dashed #38bdf840;margin-top:.85rem;padding-top:.85rem}.jtest-howto-example pre{background:#0006;border:1px solid #ffffff14;border-radius:5px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;margin:.4rem 0;overflow-x:auto;padding:.5rem .7rem}.jtest-howto-example-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:.4rem}@media (max-width:700px){.jtest-howto-example-grid{grid-template-columns:1fr}}.jtest-howto-label{color:var(--text-secondary);display:block;font-size:.74rem;font-weight:700;letter-spacing:.04em;margin-bottom:.2rem;text-transform:uppercase}.jtest-howto-tip{color:var(--text-secondary);font-size:.78rem;font-style:italic;margin:.6rem 0 0}.jtest-diff-toggle{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.jtest-diff-toggle:hover{text-decoration:underline}.jtest-diff{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-top:.55rem}@media (max-width:700px){.jtest-diff{grid-template-columns:1fr}}.jtest-diff-col pre{background:#00000059;border:1px solid #ffffff14;border-radius:4px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;margin:0;max-height:8rem;overflow:auto;padding:.45rem .6rem;white-space:pre-wrap}.jtest-diff-label{color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-bottom:.2rem;text-transform:uppercase}.jtest-global-hint{color:var(--text-secondary);font-size:.8rem;margin-top:.4rem}@media (min-width:1080px){.java-playground-page .java-runner{display:grid;grid-template-columns:minmax(240px,1fr) 6px clamp(320px,30vw,440px);grid-template-columns:minmax(240px,1fr) 6px var(--jpg-sidebar-w,clamp(320px,30vw,440px));overflow:visible}.java-playground-page .java-runner-toolbar{grid-column:1/-1;position:-webkit-sticky;position:sticky;top:57px;z-index:30}.java-playground-page .jr-file-tabs{grid-column:1/-1;position:-webkit-sticky;position:sticky;top:111px;z-index:29}.java-playground-page .java-runner-editor-wrap{align-self:start;display:flex;flex-direction:column;grid-column:1;height:calc(100vh - 148px);min-width:0;position:-webkit-sticky;position:sticky;top:148px}.java-playground-page .java-runner-editor-wrap>.jce-wrap{flex:1 1 auto;height:100%;min-height:0}.java-playground-page .java-runner-editor-wrap>.jce-wrap>.jce-textarea{height:100%;resize:none}.java-playground-page .java-runner:not(.is-fullscreen) .java-debug-panel{grid-column:1;min-width:0}.java-playground-page .java-runner:not(.is-fullscreen):has(>.java-debug-panel) .java-runner-editor-wrap{height:calc(55vh - 81.4px)}.java-playground-page .java-runner:not(.is-fullscreen):has(>.java-debug-panel) .java-debug-panel{align-self:start;box-shadow:0 -8px 24px #00000080;height:calc(42vh - 62.16px);max-height:calc(42vh - 62.16px);position:-webkit-sticky;position:sticky;top:calc(66.6px + 55vh);z-index:8}.java-playground-page .jr-col-splitter{align-self:stretch;background:var(--border-color);cursor:col-resize;grid-column:2;grid-row-end:span 100;grid-row-start:3;height:calc(100vh - 148px);position:-webkit-sticky;position:sticky;top:148px;transition:background .12s;z-index:6}.java-playground-page .jr-col-splitter:active,.java-playground-page .jr-col-splitter:hover{background:var(--primary-color)}.java-playground-page .jr-console-column{align-self:start;background:var(--bg-secondary);display:flex;flex-direction:column;grid-column:3;grid-row-end:span 100;grid-row-start:3;max-height:calc(100vh - 148px);min-width:0;position:-webkit-sticky;position:sticky;top:148px;z-index:5}.java-playground-page .jr-console-column .java-runner-output{flex:1 1 auto;max-height:none;overflow:auto}.java-playground-page .jr-console-column .java-runner-tabs{flex:0 0 auto}}.jr-col-splitter{display:none}@media (min-width:1080px){.java-playground-page .jr-col-splitter{display:block}.java-playground-page .jpg-main{max-width:1400px}}.java-reference-page{background:var(--bg-secondary);color:var(--text-primary);min-height:100vh}.jref-header{background:linear-gradient(135deg,#111,#000);border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:2.5rem 1.5rem 2rem}.jref-header-inner{margin:0 auto;max-width:960px}.jref-label{background:#00b50926;border:1px solid #00b50959;border-radius:20px;color:var(--primary-color);display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.03em;margin-bottom:.6rem;padding:.3rem .8rem}.jref-header h1{color:var(--text-primary);font-size:2.1rem;margin:.25rem 0 .75rem}.jref-header p{color:var(--text-secondary);line-height:1.6;margin:0 0 1.2rem;max-width:640px}.jref-header .btn,.jref-header .btn-outline{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-block;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.jref-header .btn-outline:hover,.jref-header .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jref-main{margin:0 auto;max-width:960px;padding:2.5rem 1.5rem 3rem}.jref-section{margin-bottom:3rem}.jref-section h2{color:var(--text-primary);font-size:1.45rem;margin:0 0 1rem}.jref-section>p{color:var(--text-secondary);line-height:1.7;max-width:720px}.jref-collapsible{margin-bottom:2rem}.jref-collapsible .jref-section-header{margin:0 0 .75rem}.jref-collapsible .jref-section-toggle{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.6rem;padding:.55rem .65rem;text-align:left;transition:background .12s,border-color .12s;width:100%}.jref-collapsible .jref-section-toggle:hover{background:#ffffff08;border-color:#ffffff14}.jref-collapsible .jref-section-toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.jref-collapsible .jref-chevron{color:var(--primary-color);display:inline-block;flex:0 0 auto;font-size:1rem;transition:transform .12s ease;width:1rem}.jref-collapsible .jref-chevron.open{transform:rotate(90deg)}.jref-collapsible .jref-section-title{flex:1 1 auto}.jref-collapsible .jref-section-body{padding:.25rem .25rem 0}.jref-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.jref-header-actions .btn-small{font-size:.78rem;padding:.4rem .85rem}.jref-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.jref-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1.1rem 1.2rem;transition:border-color .12s,transform .12s}.jref-card:hover{border-color:#00b50980;transform:translateY(-1px)}.jref-card h3{border-bottom:2px solid #00b50959;color:var(--primary-color);font-size:1rem;margin:0 0 .6rem;padding-bottom:.4rem}.jref-card ul{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0;padding-left:1.1rem}.jref-card li+li{margin-top:.2rem}.jref-card code{background:#1a1a1a;border-radius:3px;color:#9cdcfe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;padding:.05rem .35rem}.jref-danger h2{color:#fca5a5}.jref-not-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.jref-not-card{background:#ef444414;border:1px solid #ef44444d;border-radius:8px;padding:1.1rem 1.2rem}.jref-not-card h3{color:#fca5a5;font-size:1rem;margin:0 0 .5rem}.jref-not-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0}.jref-not-card code{background:#ef44441f;border-radius:3px;color:#fecaca;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;padding:.05rem .35rem}.jref-limits{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.jref-limit{background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:8px;padding:1.1rem 1.2rem;text-align:center}.jref-limit-num{color:#fbbf24;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.75rem;font-weight:700}.jref-limit-label{color:#fcd34d;font-size:.9rem;font-weight:600;margin:.25rem 0 .5rem}.jref-limit p{color:var(--text-secondary);font-size:.8rem;line-height:1.55;margin:0}.jref-limit code{background:#f59e0b24;border-radius:3px;color:#fcd34d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.05rem .3rem}.jref-footer{border-top:1px solid var(--border-color);margin-top:2.5rem;padding-top:1.75rem;text-align:center}.jref-footer .btn,.jref-footer .btn-outline{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-block;font-weight:600;padding:.55rem 1.15rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.jref-footer .btn-outline:hover,.jref-footer .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jref-upsell{grid-gap:1.25rem;background:linear-gradient(135deg,#0d0d0d,#050505);border:1px solid #00b50959;border-radius:10px;display:grid;gap:1.25rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:2.5rem;padding:1.8rem}@media (max-width:820px){.jref-upsell{grid-template-columns:1fr}}.jref-upsell-main h2{color:var(--text-primary);font-size:1.45rem;line-height:1.3;margin:.5rem 0 .6rem}.jref-upsell-main p{color:var(--text-secondary);font-size:.95rem;line-height:1.65;margin:0 0 1rem}.jref-upsell-badge{background:#00b5092e;border:1px solid #00b50966;border-radius:999px;color:var(--primary-color);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.25rem .7rem;text-transform:uppercase}.jref-upsell-actions{display:flex;flex-wrap:wrap;gap:.6rem}.jref-upsell-actions .btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s,transform .12s}.jref-upsell-actions .btn-primary{background:var(--primary-color);border:1px solid var(--primary-color);color:#000}.jref-upsell-actions .btn-primary:hover{background:#00d10b;border-color:#00d10b;transform:translateY(-1px)}.jref-upsell-actions .btn-outline{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.jref-upsell-actions .btn-outline:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jref-upsell-teacher{align-self:start;background:#00b5090f;border:1px solid #00b50940;border-radius:8px;padding:1.1rem 1.2rem}.jref-upsell-teacher h3{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.jref-upsell-teacher p{color:var(--text-secondary);font-size:.86rem;line-height:1.55;margin:0 0 .85rem}.jref-upsell-teacher .btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);display:inline-block;font-size:.85rem;font-weight:600;padding:.45rem .9rem;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.jref-upsell-teacher .btn:hover{background:#1a1a1a;border-color:var(--primary-color);color:var(--primary-color)}.jref-section>p code,.jref-section>p+p code{background:#1a1a1a;border-radius:3px;color:#9cdcfe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;padding:.05rem .35rem}.jref-vs-english .jref-vs-table-wrap{background:#0f0f0f;border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;overflow-x:auto}.jref-vs-table{border-collapse:collapse;font-size:.9rem;width:100%}.jref-vs-table thead th{background:#1a1a1a;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:.65rem 1rem;text-align:left;text-transform:uppercase}.jref-vs-table tbody tr{border-bottom:1px solid #ffffff0d}.jref-vs-table tbody tr:last-child{border-bottom:none}.jref-vs-table td{line-height:1.55;padding:.75rem 1rem;vertical-align:top}.jref-vs-table td:first-child{background:#141414;border-right:1px solid #ffffff0d;width:46%}.jref-vs-table td:last-child{color:var(--text-secondary)}.jref-vs-table td pre{background:#0000;color:#e2e8f0;line-height:1.5;margin:0;padding:0;white-space:pre}.jref-vs-table td code,.jref-vs-table td pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.jref-vs-table td code{background:#1a1a1a;border-radius:3px;color:#9cdcfe;padding:.05rem .3rem}@media (max-width:640px){.jref-vs-table,.jref-vs-table tbody,.jref-vs-table td,.jref-vs-table thead,.jref-vs-table tr{display:block;width:100%}.jref-vs-table thead{display:none}.jref-vs-table tbody tr{border-bottom:1px solid var(--border-color);margin-bottom:.5rem;padding:.5rem 0 .75rem}.jref-vs-table td:first-child,.jref-vs-table td:last-child{border-right:none;padding:.35rem .75rem;width:100%}.jref-vs-table td:first-child{border-bottom:1px dashed #ffffff14}.jref-vs-table td:first-child:before{color:var(--primary-color);content:"Java"}.jref-vs-table td:first-child:before,.jref-vs-table td:last-child:before{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.jref-vs-table td:last-child:before{color:var(--text-secondary);content:"Plain English"}}.mc-page{margin:0 auto;max-width:1060px;padding:2rem 1.5rem 3rem}.mc-loading{color:var(--text-secondary);font-size:.95rem;padding:3rem;text-align:center}.mc-header{border-bottom:1px solid var(--border-color);margin-bottom:1.75rem;padding-bottom:1.5rem}.mc-header-titlerow{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.mc-header h1{color:var(--text-primary);font-size:1.75rem;margin:0 0 .35rem}.mc-header-sub{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin:0;max-width:620px}.mc-header-active{color:#00b509;color:var(--primary-color,#00b509)}.mc-header-join-btn{align-items:center;background:#0ea5e91a;border:1px solid #0ea5e959;border-radius:8px;color:#7dd3fc;display:inline-flex;font-size:.88rem;font-weight:600;gap:.35rem;padding:.5rem .95rem;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}.mc-header-join-btn:hover{background:#0ea5e92e;border-color:#0ea5e98c;text-decoration:none;transform:translateY(-1px)}.mc-header-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.mc-stat{align-items:flex-start;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem}.mc-stat-num{font-feature-settings:"tnum";color:#7dd3fc;font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.mc-stat-label{color:var(--text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.mc-stat--warn{background:#fbbf2414;border-color:#fbbf244d}.mc-stat--warn .mc-stat-num{color:#fde68a}.mc-stat--danger{background:#f8717114;border-color:#f8717159}.mc-stat--danger .mc-stat-num{color:#fca5a5}.mc-header-upnext{align-items:center;background:linear-gradient(135deg,#0ea5e91f,#0ea5e90a 70%);border:1px solid #0ea5e94d;border-radius:10px;color:var(--text-primary);display:flex;gap:.85rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .15s,background .15s}.mc-header-upnext:hover{background:linear-gradient(135deg,#0ea5e92e,#0ea5e90f 70%);border-color:#0ea5e98c;text-decoration:none}.mc-upnext-icon{flex-shrink:0;font-size:1.15rem;line-height:1}.mc-upnext-text{flex:1 1;font-size:.95rem;line-height:1.4}.mc-upnext-text strong{color:#7dd3fc;margin-right:.35rem}.mc-upnext-class{color:var(--text-secondary);font-size:.85rem}.mc-upnext-due{color:var(--text-secondary);font-size:.82rem;font-weight:600;white-space:nowrap}@media (max-width:600px){.mc-header-stats{grid-template-columns:repeat(2,1fr)}.mc-header-upnext{flex-wrap:wrap}.mc-upnext-due{padding-left:2rem;width:100%}}.mc-empty{background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;padding:3rem 2rem;text-align:center}.mc-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.mc-empty h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 .5rem}.mc-empty p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.mc-empty-link{background:#00b509;background:var(--primary-color,#00b509);border-radius:8px;color:#000;display:inline-block;font-size:.85rem;font-weight:600;padding:.45rem 1rem;text-decoration:none;transition:opacity .15s}.mc-empty-link:hover{color:#000;opacity:.85;text-decoration:none}.mc-classrooms{display:flex;flex-direction:column;gap:1rem}.mc-classroom{background:hsla(0,0%,100%,.015);border:1px solid #ffffff1a;border-radius:14px;box-shadow:0 2px 8px #0003,0 0 0 1px #ffffff0a;overflow:hidden}.mc-classroom-header{align-items:center;background:#ffffff0a;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:.85rem 1.15rem}.mc-classroom-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.mc-classroom-meta{color:var(--text-secondary);display:flex;font-size:.78rem;gap:.75rem}.mc-classroom-body{display:flex;flex-direction:column;gap:.85rem;padding:.85rem 1.15rem}.mc-classroom-empty{color:var(--text-secondary);font-size:.82rem;margin:0;padding:.25rem 0}.mc-subsection{background:hsla(0,0%,100%,.015);border:1px solid #ffffff0f;border-left:3px solid #ffffff1a;border-radius:10px;display:flex;flex-direction:column;gap:.35rem;padding:.6rem .75rem}.mc-subsection-assignments{background:#3b82f608;border-left-color:#3b82f6}.mc-subsection-assessments{background:#f59e0b08;border-left-color:#f59e0b}.mc-subsection-label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.76rem;font-weight:600;gap:.4rem;letter-spacing:.06em;padding:.2rem 0;text-transform:uppercase;transition:color .15s;-webkit-user-select:none;user-select:none}.mc-subsection-assignments .mc-subsection-label{color:#60a5fa}.mc-subsection-assessments .mc-subsection-label{color:#fbbf24}.mc-subsection-label:hover{color:var(--text-primary)}.mc-section-toggle{font-size:.9rem;font-weight:600;line-height:1;margin-left:auto;text-align:center;width:20px}.mc-subsection-content{display:flex;flex-direction:column;gap:.35rem;padding-top:.25rem}.mc-subsection-icon{flex-shrink:0;height:.85rem;width:.85rem}.mc-count-badge{align-items:center;background:#1d4ed8;border-radius:9px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:700;height:17px;justify-content:center;line-height:1;margin-left:.2rem;min-width:17px;padding:0 5px}.mc-count-badge.mc-count-warn{background:#f59e0b}.mc-item{background:hsla(0,0%,100%,.025);border:1px solid #ffffff0f;border-radius:8px;padding:.5rem .7rem}.mc-item-highlight{animation:mcFlash 2.2s ease-out;border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 2px #00b5094d}@keyframes mcFlash{0%{background:#00b5092e}to{background:hsla(0,0%,100%,.025)}}.mc-item-done{opacity:.7}.mc-item-clickable{cursor:pointer}.mc-item-clickable:hover{background:#ffffff0a;border-color:#ffffff1f}.mc-item-header{align-items:center;cursor:pointer;display:flex;gap:.6rem;margin-bottom:.25rem}.mc-item-header strong{color:var(--text-primary);font-size:.84rem}.mc-item-row{gap:.75rem;justify-content:space-between}.mc-item-info,.mc-item-row{align-items:center;display:flex}.mc-item-info{flex:1 1;gap:.5rem;min-width:0}.mc-item-info strong{color:var(--text-primary);font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-item-due{flex-shrink:0;font-size:.72rem;margin-left:auto}.mc-item-due.on-time{color:#00b509;color:var(--primary-color,#00b509)}.mc-item-due.past-due{color:#ef4444}.mc-item-meta{font-size:.72rem}.mc-expand-icon,.mc-item-meta{color:var(--text-secondary);flex-shrink:0}.mc-expand-icon{font-size:.68rem}.mc-checklist{column-gap:1.5rem;column-rule:1px solid #ffffff0f;column-width:240px;margin-top:.2rem}.mc-check-row{align-items:center;break-inside:avoid;color:var(--text-secondary);display:flex;font-size:.78rem;gap:.45rem;padding:.12rem 0;page-break-inside:avoid}.mc-check-row a{color:#00b509;color:var(--primary-color,#00b509);text-decoration:none}.mc-check-row a.mc-link-completed{color:var(--text-secondary)}.mc-check-row a:hover{text-decoration:underline}.mc-check-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.6rem;height:1rem;justify-content:center;width:1rem}.mc-check-icon.done{background:#00b50933;color:#00b509}.mc-check-icon.pending{background:#ffffff0d;border:1px solid #ffffff26;color:#0000}.mc-score{color:var(--text-secondary);font-size:.72rem;margin-left:auto}.mc-late-badge{background:#dc26261f;border-radius:4px;color:#ef4444;display:inline-block;font-size:.62rem;font-weight:600;margin-left:.2rem;padding:.08rem .35rem;text-transform:uppercase}.mc-progress{align-items:center;color:var(--text-secondary);display:flex;font-size:.72rem;gap:.45rem;margin-top:.4rem}.mc-progress-bar{background:#ffffff14;border-radius:2px;flex:1 1;height:3px;overflow:hidden}.mc-progress-fill{border-radius:2px;height:100%;transition:width .3s}.mc-progress-fill,.mc-quiz-start{background:#00b509;background:var(--primary-color,#00b509)}.mc-quiz-start{border:none;border-radius:6px;color:#000;cursor:pointer;font-size:.76rem;font-weight:600;padding:.28rem .7rem;transition:opacity .15s;white-space:nowrap}.mc-quiz-start:hover{opacity:.85}.mc-status-done{color:#00b509;color:var(--primary-color,#00b509);font-size:.74rem;font-weight:600}.mc-status-paused{color:#f59e0b;font-size:.74rem;font-weight:600}.mc-quiz-score{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.15rem}.mc-score-value{color:#00b509;color:var(--primary-color,#00b509);font-size:.82rem;font-weight:600}.mc-score-hidden{color:var(--text-secondary);font-size:.78rem;font-style:italic}.mc-score-tag{color:var(--text-secondary);font-size:.65rem}.mc-completed-section{border-top:1px solid #ffffff0f;margin-top:.3rem;padding-top:.3rem}.mc-completed-toggle{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.73rem;font-weight:500;justify-content:space-between;padding:.25rem .15rem;transition:color .15s;-webkit-user-select:none;user-select:none}.mc-completed-toggle:hover{color:var(--text-primary)}.mc-toggle-icon{font-size:.85rem;font-weight:600;text-align:center;width:18px}.mc-quiz-questions{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.mc-quiz-q{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;padding:.6rem .75rem}.mc-quiz-q.correct{border-left:3px solid #00b509}.mc-quiz-q.incorrect{border-left:3px solid #ef4444}.mc-quiz-q-header{display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;margin-bottom:.4rem}.mc-q-correct{color:#00b509}.mc-q-incorrect{color:#ef4444}.mc-quiz-q-text{color:var(--text-primary);font-size:.82rem;line-height:1.5;margin:0 0 .5rem}.mc-code-block{background:#0d1117;border-radius:6px;font-size:.78rem;margin-bottom:.5rem;overflow-x:auto;padding:.5rem}.mc-quiz-q-answers{display:flex;flex-direction:column;gap:.2rem}.mc-quiz-q-answers,.mc-quiz-q-explanation{color:var(--text-secondary);font-size:.78rem}.mc-quiz-q-explanation{background:#00b5090f;border-radius:6px;line-height:1.5;margin:.4rem 0 0;padding:.5rem}.mc-trace-table{border-collapse:collapse;font-size:.75rem;margin-top:.4rem;width:100%}.mc-trace-table td,.mc-trace-table th{border-bottom:1px solid #ffffff0f;padding:.3rem .5rem;text-align:left}.mc-trace-table th{color:var(--text-secondary);font-weight:500}.mc-trace-table td{color:var(--text-primary)}@media (max-width:640px){.mc-page{padding:1.25rem 1rem 2rem}.mc-header h1{font-size:1.4rem}.mc-classroom-header{align-items:flex-start;flex-direction:column;gap:.25rem}.mc-item-header{flex-wrap:wrap;gap:.3rem}.mc-item-row{align-items:flex-start;flex-direction:column;gap:.35rem}.mc-item-due{margin-left:0}.mc-quiz-score{align-items:flex-start}}.mc-results-section{background:#ffffff05;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:8px;margin-bottom:1.25rem;margin-top:2rem;overflow:hidden}.mc-quizresult-anchor{scroll-margin-top:72px}.mc-results-header{align-items:center;background:#38bdf80f;border-bottom:1px solid #38bdf826;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.65rem .85rem;transition:background .15s;-webkit-user-select:none;user-select:none}.mc-results-header:hover{background:#38bdf81a}.mc-results-title{color:#38bdf8;font-size:.85rem;letter-spacing:.02em}.mc-results-count{background:#ffffff0f;border-radius:999px;color:var(--text-secondary);font-size:.75rem;font-weight:500;padding:.1rem .45rem}.mc-results-filters{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;flex-wrap:wrap;gap:.9rem;padding:.6rem .85rem .4rem}.mc-results-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.78rem;gap:.4rem}.mc-results-filter select{background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;color:var(--text-primary);font-size:.78rem;padding:.25rem .45rem}.mc-results-shown{color:var(--text-secondary);font-size:.72rem;margin-left:auto}.mc-results-table-wrap{overflow-x:auto}.mc-results-table{border-collapse:collapse;font-size:.85rem;width:100%}.mc-results-table td,.mc-results-table th{border-bottom:1px solid #ffffff0a;padding:.55rem .7rem;text-align:left;vertical-align:middle}.mc-results-table th{background:#ffffff05;color:var(--text-secondary);cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.mc-results-table th:hover{color:var(--text-primary)}.mc-results-table tbody tr:hover{background:#38bdf80a}.mc-results-table .mc-results-score,.mc-results-table .mc-results-th-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.mc-results-date{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.mc-results-title-cell{color:var(--text-primary);font-weight:500}.mc-results-type-tag{background:#ffffff0f;border-radius:999px;color:var(--text-secondary);display:inline-block;font-size:.72rem;padding:.1rem .45rem;white-space:nowrap}.mc-results-score{color:var(--text-primary);font-weight:600;white-space:nowrap}.mc-results-action{color:#38bdf8;font-size:.8rem;text-decoration:none;white-space:nowrap}.mc-results-action:hover{text-decoration:underline}.mc-results-action-disabled{color:var(--text-secondary);font-size:.8rem;opacity:.5}@media (max-width:720px){.mc-results-filters{gap:.5rem}.mc-results-shown{margin-left:0;width:100%}.mc-results-table td,.mc-results-table th{padding:.45rem .5rem}}.pricing-page{max-width:1080px}.pricing-hero{margin:0 auto 2rem;max-width:720px;text-align:center}.pricing-hero h1{border-bottom:none;font-size:2.5rem;margin-bottom:.5rem;padding-bottom:0}.pricing-subtitle{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:1.05rem;margin:0}.pricing-tiers{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr);margin:2rem 0 1rem}@media (max-width:880px){.pricing-tiers{grid-template-columns:1fr}}.pricing-card{background:#ffffff0a;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:12px;display:flex;flex-direction:column;padding:1.75rem 1.5rem 1.5rem;position:relative;text-align:center;transition:transform .15s ease,border-color .15s ease}.pricing-card:hover{border-color:#00b50973;transform:translateY(-2px)}.pricing-card--featured{background:#00b50912;border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 6px 24px #00b5091f}.pricing-card__badge{background:#00b509;background:var(--primary-color,#00b509);border-radius:999px;color:#062a07;font-size:.72rem;font-weight:700;left:50%;letter-spacing:.04em;padding:.25rem .7rem;position:absolute;text-transform:uppercase;top:-.7rem;transform:translateX(-50%)}.pricing-card__name{border-bottom:none;color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:1.25rem;margin:0 0 .5rem;padding-bottom:0}.pricing-card__price{align-items:baseline;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin:.25rem 0 .75rem}.pricing-card__amount{color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:2.25rem;font-weight:700;letter-spacing:-.02em}.pricing-card__cadence{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.85rem}.pricing-card__seats{border-bottom:1px solid #ffffff14;border-top:1px solid #ffffff14;display:flex;flex-direction:column;gap:.2rem;margin:.25rem 0 .5rem;padding:.85rem 0}.pricing-card__seats strong{color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:1rem}.pricing-card__seats-sub{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.85rem}.pricing-card__per-seat{color:#00b509;color:var(--primary-color,#00b509);font-size:.9rem;font-weight:600;margin:.4rem 0}.pricing-card__fits{font-size:.9rem;margin:.25rem 0 .75rem}.pricing-card__bullets,.pricing-card__fits{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.pricing-card__bullets{font-size:.88rem;line-height:1.45;list-style:none;margin:.5rem 0 .75rem;padding:0;text-align:left}.pricing-card__bullets li{border-bottom:1px solid #ffffff0d;padding:.28rem 0 .28rem 1.3rem;position:relative}.pricing-card__bullets li:last-child{border-bottom:none}.pricing-card__bullets li:before{color:#00b509;color:var(--primary-color,#00b509);content:"✓";font-weight:700;left:0;position:absolute;top:.28rem}a.pricing-card__action{background:#00b509;background:var(--primary-color,#00b509);border:none;border-radius:8px;color:#062a07;cursor:pointer;display:block;font-size:.95rem;font-weight:700;letter-spacing:.01em;margin:1rem 0 0;padding:.85rem 1rem;text-align:center;text-decoration:none;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}a.pricing-card__action:hover{background:#00d10a;box-shadow:0 6px 16px #00b50940;color:#062a07;text-decoration:none;transform:translateY(-1px)}a.pricing-card__action:active{background:#00a008;color:#062a07;transform:translateY(0)}a.pricing-card__action:focus-visible{outline:2px solid #00d10a;outline-offset:2px}.pricing-card--featured a.pricing-card__action{background:#00d10a;color:#062a07}.pricing-card--featured a.pricing-card__action:hover{background:#00ff0d;box-shadow:0 8px 22px #00b50959;color:#062a07}a.pricing-card__action--contact{background:#2563eb;color:#f8fafc}a.pricing-card__action--contact:hover{background:#3b82f6;box-shadow:0 6px 16px #2563eb4d;color:#f8fafc}.pricing-card--featured a.pricing-card__action--contact{background:#2563eb;color:#f8fafc}.pricing-card--featured a.pricing-card__action--contact:hover{background:#3b82f6;box-shadow:0 8px 22px #2563eb66;color:#f8fafc}.pricing-card__price-suffix{flex-basis:100%;font-size:.72rem;letter-spacing:.08em;margin:0 0 -.15rem;text-transform:uppercase}.pricing-card__cta,.pricing-card__price-suffix{color:#9ca3af;color:var(--text-secondary,#9ca3af);text-align:center}.pricing-card__cta{font-size:.82rem;font-style:italic;margin-top:.5rem;padding-top:.25rem}.pricing-card__bullets{flex:1 0 auto}.pricing-exam-pass{background:linear-gradient(180deg,#ff8c1a12,#ff8c1a05);border:2px dashed #ff8c1a;border-radius:12px;margin:2rem 0;padding:1.5rem 1.75rem}.pricing-exam-pass h2{border-bottom:none;color:#f8fafc;color:var(--text-primary,#f8fafc);margin-bottom:.5rem;margin-top:0;padding-bottom:0}.pricing-exam-pass ul{line-height:1.55;margin:.75rem 0;padding-left:1.2rem}.pricing-exam-pass a.pricing-card__action{background:#ff8c1a;color:#1a0a00;display:inline-block;margin-top:.75rem;width:auto}.pricing-exam-pass a.pricing-card__action:hover{background:#ffa14a;box-shadow:0 6px 16px #ff8c1a4d;color:#1a0a00}.membership-gate-secondary-link{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:block;font-size:.9rem;margin-top:.75rem;text-decoration:underline}.membership-gate-secondary-link:hover{color:#f8fafc;color:var(--text-primary,#f8fafc)}.membership-gate-btn--contact,a.membership-gate-btn--contact{background:#2563eb!important;color:#f8fafc!important}.membership-gate-btn--contact:hover,a.membership-gate-btn--contact:hover{background:#3b82f6!important;color:#f8fafc!important}.pricing-page .pricing-note{color:#c4c9d2;color:var(--text-secondary,#c4c9d2);font-size:.95rem;margin:1.25rem auto 2.5rem;max-width:760px;text-align:center}.pricing-howitworks{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin:1rem 0 1.5rem}@media (max-width:720px){.pricing-howitworks{grid-template-columns:1fr}}.pricing-howitworks>div{background:#ffffff08;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;padding:1rem 1.25rem}.pricing-howitworks h3{color:#00b509;color:var(--primary-color,#00b509);font-size:1.05rem;margin-bottom:.5rem;margin-top:0}.pricing-howitworks ul{font-size:.94rem;margin:0;padding-left:1.1rem}.pricing-howitworks li{margin-bottom:.3rem}.pricing-examples{border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-collapse:initial;border-radius:10px;border-spacing:0;font-size:.95rem;margin:.75rem 0 1.5rem;overflow:hidden;width:100%}.pricing-examples thead th{background:#ffffff0f;color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:.88rem;font-weight:600;letter-spacing:.02em;padding:.7rem .9rem;text-align:left;text-transform:uppercase}.pricing-examples tbody td{border-top:1px solid #ffffff0f;padding:.65rem .9rem}.pricing-examples tbody tr:nth-child(odd) td{background:#ffffff05}.pricing-examples tbody td:last-child{text-align:right;white-space:nowrap}.pricing-policies{grid-gap:.6rem 1.25rem;background:#ffffff08;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:10px;display:grid;gap:.6rem 1.25rem;grid-template-columns:220px 1fr;margin:.75rem 0 1.75rem;padding:1.1rem 1.25rem}@media (max-width:720px){.pricing-policies{gap:.25rem 0;grid-template-columns:1fr}.pricing-policies dt{margin-top:.6rem}}.pricing-policies dt{color:#00b509;color:var(--primary-color,#00b509);font-size:.95rem;font-weight:600}.pricing-policies dd{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.94rem;line-height:1.55;margin:0}.pricing-getstarted{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.pricing-getstarted a{border-radius:8px;display:inline-block;font-size:.95rem;font-weight:600;padding:.7rem 1.25rem;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.pricing-getstarted a:hover{opacity:.92;transform:translateY(-1px)}.pricing-getstarted__primary{background:#00b509;background:var(--primary-color,#00b509);color:#062a07!important}.pricing-getstarted__secondary{background:#ffffff0f;border:1px solid #ffffff2e;border:1px solid var(--border-color,#ffffff2e);color:#e5e7eb!important;color:var(--text-primary,#e5e7eb)!important}.pricing-pdfs{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;margin-top:.25rem}.contact-page{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:640px;padding:2.5rem 1.25rem 4rem}.contact-page h1{color:#f8fafc;color:var(--text-primary,#f8fafc);font-size:2rem;margin:0 0 .75rem}.contact-page .contact-lede{color:#9ca3af;color:var(--text-secondary,#9ca3af);line-height:1.6;margin:0 0 2rem}.contact-page .contact-form{display:flex;flex-direction:column;gap:1.1rem}.contact-page .cspp-contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-page .contact-label{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.95rem;font-weight:600}.contact-page .cspp-contact-field input,.contact-page .cspp-contact-field select,.contact-page .cspp-contact-field textarea{background:#ffffff0f;border:1px solid #ffffff2e;border:1px solid var(--border-color,#ffffff2e);border-radius:6px;box-sizing:border-box;color:#e5e7eb;color:var(--text-primary,#e5e7eb);font:inherit;padding:.6rem .75rem;width:100%}.contact-page .cspp-contact-field input::placeholder,.contact-page .cspp-contact-field textarea::placeholder{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.contact-page .cspp-contact-field input:focus,.contact-page .cspp-contact-field select:focus,.contact-page .cspp-contact-field textarea:focus{border-color:#00b509;border-color:var(--primary-color,#00b509);box-shadow:0 0 0 3px #00b5092e;outline:none}.contact-page .cspp-contact-field textarea{min-height:120px;resize:vertical}.contact-page .contact-honeypot{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.contact-page .contact-submit{align-self:flex-start;font-size:1rem;padding:.7rem 1.4rem}.contact-page .contact-submit:disabled{cursor:not-allowed;opacity:.6}.contact-page .contact-alert{border-radius:6px;font-size:.95rem;line-height:1.5;padding:.75rem 1rem}.contact-page .contact-alert-error{background:#ef44441f;border:1px solid #ef444466;color:#fecaca}.contact-page .contact-success{background:#10b98114;border:1px solid #10b98166;border-radius:8px;padding:2rem}.contact-page .contact-success h1{color:#10b981;color:var(--success-color,#10b981);margin-top:0}.contact-page .contact-success p{color:#e5e7eb;color:var(--text-primary,#e5e7eb);line-height:1.6}.app-tour-step{padding:.25rem 0;text-align:left}.app-tour-step-title{color:#1f2937;font-size:1.05rem;font-weight:700;margin:0 0 .5rem}.app-tour-step-body{color:#374151;font-size:.95rem;line-height:1.45;margin:0}@media (max-width:480px){.app-tour-step-title{font-size:1rem}.app-tour-step-body{font-size:.9rem}}*{margin:0;padding:0}:root{--primary-color:#00b509;--primary-hover:#009a07;--secondary-color:#94a3b8;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--bg-color:#111;--bg-secondary:#000;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--border-color:#2e2e2e;--shadow:0 1px 3px 0 #0006,0 1px 2px 0 #0000004d;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;background-color:var(--bg-secondary);color:#e4e4e7;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}.skip-to-content{background:#00b509;background:var(--primary-color);border-radius:0 0 6px 0;color:#000;font-weight:700;left:0;padding:.75rem 1.25rem;position:absolute;text-decoration:none;top:-100px;transition:top .15s ease-in-out;z-index:10000}.skip-to-content:focus{outline:3px solid #fff;outline-offset:-3px;top:0}.main-content:focus{outline:none}:focus-visible{border-radius:2px;outline:2px solid #00b509;outline:2px solid var(--primary-color);outline-offset:2px}code{background-color:#2a2a2a;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9em;padding:2px 6px}select{color-scheme:dark}select option{background-color:#1a1a1a;color:#e4e4e7}pre{background-color:#1e293b;border-radius:8px;color:#e2e8f0;margin:1rem 0;overflow-x:auto;padding:1rem}pre code{background-color:initial;color:inherit;padding:0}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#00b509;background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:#009a07;background-color:var(--primary-hover);box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background-color:#000;background-color:var(--bg-secondary);border:1px solid #2e2e2e;border:1px solid var(--border-color);color:#e4e4e7;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:#2e2e2e}.btn-outline{background-color:initial;border:1px solid #00b509;border:1px solid var(--primary-color);color:#00b509;color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:#00b509;background-color:var(--primary-color);color:#fff}.btn-large{font-size:1.125rem;padding:1rem 2rem}.loading{align-items:center;color:#a1a1aa;color:var(--text-secondary);display:flex;font-size:1.125rem;justify-content:center;min-height:400px}.error-message{background-color:#3b1111;border:1px solid #5c1a1a;border-radius:8px;color:#fca5a5;margin-bottom:1rem;padding:1rem}.empty-state{color:#a1a1aa;color:var(--text-secondary);padding:3rem 1rem;text-align:center}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.guest-gate-wrapper{min-height:60vh;position:relative}.guest-gate-blur{filter:blur(1px);max-height:80vh;opacity:1;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.guest-gate-overlay{align-items:center;background:linear-gradient(180deg,#0000 0,#0000004d 40%,#000000b8);display:flex;inset:0;justify-content:center;padding:2rem 1rem;position:absolute;z-index:10}.guest-gate-card{background:#111;background:var(--bg-color);border:1px solid #2e2e2e;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 24px 60px #0009;max-width:480px;padding:3rem 2.5rem;text-align:center;width:100%}.guest-gate-icon{font-size:3rem;margin-bottom:1rem}.guest-gate-card h2{color:#e4e4e7;color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.guest-gate-card p{color:#a1a1aa;color:var(--text-secondary);font-size:1.05rem;margin-bottom:2rem}.guest-gate-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:480px){.guest-gate-card{padding:2rem 1.5rem}.guest-gate-card h2{font-size:1.5rem}}.guest-gate-preview{margin:0 auto;max-width:860px;padding:2rem}.ggp-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.75rem}.ggp-title-block{display:flex;flex-direction:column;gap:.5rem}.ggp-bar{background:#2e2e2e;background:var(--border-color);border-radius:6px;height:14px}.ggp-bar.wide{background:#a1a1aa;background:var(--text-secondary);opacity:.5;width:240px}.ggp-bar.medium{opacity:.3;width:160px}.ggp-badge{background:#00b509;background:var(--primary-color);border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;opacity:.85;padding:.25rem .75rem}.ggp-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.ggp-card{align-items:center;background:#111;background:var(--bg-color);border:1px solid #2e2e2e;border:1px solid var(--border-color);border-radius:10px;display:flex;gap:1rem;padding:.9rem 1.1rem}.ggp-card-icon{flex-shrink:0;font-size:1.4rem}.ggp-card-body{flex:1 1;min-width:0}.ggp-card-label{color:#e4e4e7;color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:.15rem}.ggp-card-sub{color:#a1a1aa;color:var(--text-secondary);font-size:.8rem;margin-bottom:.4rem}.ggp-progress-track{background:#2e2e2e;background:var(--border-color);border-radius:3px;height:5px;overflow:hidden}.ggp-progress-fill{background:#00b509;background:var(--primary-color);border-radius:3px;height:100%}.ggp-card-check{flex-shrink:0;font-size:1.1rem}.ggp-stats{background:#111;background:var(--bg-color);border:1px solid #2e2e2e;border:1px solid var(--border-color);border-radius:10px;display:flex;gap:1.5rem;justify-content:center;padding:1rem}.ggp-stat{align-items:center;display:flex;flex-direction:column;gap:.2rem}.ggp-stat-num{color:#00b509;color:var(--primary-color);font-size:1.5rem;font-weight:700}.ggp-stat-lbl{color:#a1a1aa;color:var(--text-secondary);font-size:.75rem}a{color:#00b509;color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}a.chip:hover,a.pill:hover,a[class*=-badge]:hover,a[class*=-chip]:hover,a[class*=-pill]:hover,a[class*=-tag]:hover{text-decoration:none}@media (max-width:768px){.btn{font-size:.9375rem;padding:.625rem 1.25rem}.btn-large{font-size:1rem;padding:.875rem 1.75rem}}.qp-hero-label{background:#a855f71f;border:1px solid #a855f74d;border-radius:999px;color:#a855f7;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.12em;margin-bottom:1.25rem;padding:.4rem 1.25rem;text-transform:uppercase}.blocks-resource-pill{background:#00b50914;border:1px solid #00b50933;border-radius:999px;color:#00b509;color:var(--primary-color);font-size:.85rem;font-weight:600;padding:.35rem .9rem;position:relative;text-decoration:none;transition:background .2s,border-color .2s}.blocks-resource-pill:hover{background:#00b5092e;border-color:#00b509;border-color:var(--primary-color);text-decoration:none}.blocks-resource-pill:after{background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b5094d;border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #0009;color:#e2e8f0;content:attr(data-tooltip);font-size:.8rem;font-weight:400;left:0;line-height:1.5;opacity:0;padding:.55rem .85rem;pointer-events:none;position:absolute;transform:translateY(4px);transition:opacity .2s,transform .2s;width:300px;z-index:50}.blocks-resource-pill[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}@media (max-width:768px){.blocks-resource-pill:after{display:none}}.blocks-upsell-banner{align-items:center;background:linear-gradient(135deg,#0d2e0e,#0a1a0a);border:1px solid #00b50940;border-radius:10px;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.blocks-upsell-text{color:#a1a1aa;color:var(--text-secondary);flex:1 1 100%;font-size:.95rem;line-height:1.5}.blocks-upsell-text strong{color:#e4e4e7;color:var(--text-primary)}.blocks-upsell-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media (max-width:600px){.blocks-upsell-actions{flex-direction:column}.blocks-upsell-actions .btn{text-align:center}}.blocks-course-upsell{grid-gap:1.25rem;background:linear-gradient(135deg,#0d0d1a,#050510);border:1px solid #a855f733;border-radius:12px;display:grid;gap:1.25rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:2rem;padding:1.5rem}@media (max-width:768px){.blocks-course-upsell{grid-template-columns:1fr}}.blocks-course-upsell-main h2{color:#e4e4e7;color:var(--text-primary);font-size:1.4rem;line-height:1.3;margin:.4rem 0 .6rem}.blocks-course-upsell-main p{color:#a1a1aa;color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0 0 1rem}.blocks-course-upsell-badge{background:#a855f72e;border-radius:999px;color:#a855f7;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.25rem .7rem;text-transform:uppercase}.blocks-course-upsell-actions{display:flex;flex-wrap:wrap;gap:.6rem}.blocks-course-upsell-teacher{align-self:start;background:#a855f70f;border:1px solid #a855f733;border-radius:8px;padding:1rem 1.1rem}.blocks-course-upsell-teacher h3{color:#e4e4e7;color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.blocks-course-upsell-teacher p{color:#a1a1aa;color:var(--text-secondary);font-size:.85rem;line-height:1.55;margin:0 0 .85rem}.back-to-top{align-items:center;background:#000;background:var(--bg-secondary);border:1px solid #00b50966;border-radius:50%;bottom:5.5rem;box-shadow:0 4px 16px #0006;color:#00b509;color:var(--primary-color);cursor:pointer;display:flex;font-size:1.2rem;height:44px;justify-content:center;position:fixed;right:2rem;transition:background .2s,border-color .2s;width:44px;z-index:100}.back-to-top:hover{background:#00b5091a;border-color:#00b509;border-color:var(--primary-color)}.csa-cross-links{background:linear-gradient(135deg,#00b50914,#a855f714);border:1px solid #00b50940;border-radius:14px;margin:3rem auto 2rem;max-width:960px;padding:2rem 1.5rem;text-align:center}.csa-cross-links h3{color:#e4e4e7;color:var(--text-primary,#e6e6f0);font-size:1.35rem;margin:0 0 .5rem}.csa-cross-links p{color:#a1a1aa;color:var(--text-secondary,#a8a8b8);font-size:.95rem;margin:0 auto 1.25rem;max-width:640px}.csa-cross-links-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.practice-compare{background:linear-gradient(135deg,#00b5090f,#a855f70f);border:1px solid #00b50933;border-radius:14px;margin:2.5rem auto;max-width:1100px;padding:2rem 1.5rem}.practice-compare h3{color:#e4e4e7;color:var(--text-primary,#e6e6f0);font-size:1.35rem;margin:0 0 .5rem;text-align:center}.practice-compare-intro{color:#a1a1aa;color:var(--text-secondary,#a8a8b8);font-size:.95rem;line-height:1.5;margin:0 auto 1.5rem;max-width:700px;text-align:center}.practice-compare-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:720px){.practice-compare-grid{grid-template-columns:1fr}}.practice-compare-card{background:#14141e59;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.5rem}.practice-compare-card.current{border-color:#00b5098c;box-shadow:inset 0 0 0 1px #00b50940}.practice-compare-card header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.75rem}.practice-compare-card h4{color:#e4e4e7;color:var(--text-primary,#e6e6f0);font-size:1.2rem;margin:0}.practice-compare-badge{background:#00b50926;border:1px solid #00b50959;border-radius:999px;color:#00b509;display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.15rem .55rem;text-transform:uppercase}.practice-compare-badge.gh{background:#a855f726;border-color:#a855f759;color:#b88cff}.practice-compare-route{color:#a1a1aa;color:var(--text-secondary,#a8a8b8);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.8rem}.practice-compare-card ul{list-style:none;margin:0 0 .75rem;padding:0}.practice-compare-card li{color:#a1a1aa;color:var(--text-secondary,#cfcfe0);font-size:.9rem;line-height:1.45;padding:.25rem 0 .25rem 1.4rem;position:relative}.practice-compare-pros li:before{color:#00b509;content:"✓";font-weight:700;left:0;position:absolute}.practice-compare-cons li:before{color:#d9a441;content:"–";font-weight:700;left:.15rem;position:absolute}.practice-compare-cons{border-top:1px dashed #ffffff14;margin-top:.25rem;padding-top:.5rem!important}.practice-compare-cta{align-items:center;display:flex;gap:.75rem;margin-top:auto;padding-top:.75rem}.practice-compare-cta .btn{min-width:180px}.practice-compare-here{color:#a1a1aa;color:var(--text-secondary,#a8a8b8);font-size:.85rem;font-style:italic}:root{--sa-green:#00b509;--sa-green-hover:#009a07;--sa-green-soft:#00b5091f;--sa-green-edge:#00b50959;--sa-bg:#000;--sa-card:#111;--sa-card-hi:#1a1a1a;--sa-border:#2e2e2e;--sa-border-hi:#3d3d3d;--sa-text:#e4e4e7;--sa-text-dim:#a1a1aa;--sa-text-faint:#6b6b73;--sa-success:#10b981;--sa-warning:#f59e0b;--sa-error:#ef4444}*{box-sizing:border-box}html.cspp-standalone,html.cspp-standalone #root,html.cspp-standalone body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#000;background:var(--sa-bg);color:#e4e4e7;color:var(--sa-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0}html.cspp-standalone a{color:#00b509;color:var(--sa-green);text-decoration:none}html.cspp-standalone a:hover{text-decoration:none}.sa-prose a:hover{text-decoration:underline}.sa-card,.sa-card:active,.sa-card:focus,.sa-card:hover{text-decoration:none}.sa-screen{display:flex;flex-direction:column;height:100%;overflow:hidden}.sa-header{background:#111;background:var(--sa-card);border-bottom:1px solid #2e2e2e;border-bottom:1px solid var(--sa-border);flex-shrink:0;padding:env(safe-area-inset-top,0) 0 0;z-index:10}.sa-header-inner{gap:12px;min-height:56px;padding:14px 20px}.sa-back,.sa-header-inner{align-items:center;display:flex}.sa-back{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:22px;color:#00b509;color:var(--sa-green);cursor:pointer;font-size:28px;height:44px;justify-content:center;line-height:1;width:44px}.sa-back:active{background:#00b5091f;background:var(--sa-green-soft)}.sa-brand{color:#00b509;color:var(--sa-green);font-size:17px;font-weight:700;letter-spacing:-.01em}.sa-title{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.sa-header-hero,.sa-title{color:#e4e4e7;color:var(--sa-text)}.sa-header-hero{background:radial-gradient(120% 140% at 0 0,#00b5092e 0,#00b50900 60%),linear-gradient(180deg,#0a0a0a,#000);border-bottom:1px solid #2e2e2e;border-bottom:1px solid var(--sa-border)}.sa-header-inner-hero{align-items:flex-start;flex-direction:column;gap:6px;min-height:0;padding:32px 24px 28px}.sa-header-inner-hero .sa-brand{color:#00b509;color:var(--sa-green);font-size:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sa-header-inner-hero .sa-brand-tag{color:#a1a1aa;color:var(--sa-text-dim);font-weight:500;letter-spacing:.01em;margin-left:6px;text-transform:none}.sa-hero-title{color:#e4e4e7;color:var(--sa-text);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:4px 0 0}.sa-hero-sub{color:#a1a1aa;color:var(--sa-text-dim);font-size:16px;line-height:1.4;margin:6px 0 0;max-width:60ch}.sa-main{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:14px;margin:0 auto;max-width:760px;min-height:0;overflow-y:auto;padding:20px;width:100%}.sa-main-lesson{max-width:920px}.sa-card{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:14px;color:inherit;display:block;min-height:64px;padding:18px 20px;text-decoration:none;transition:transform .06s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.sa-card:active{transform:scale(.99)}.sa-card:hover{background:#1a1a1a;background:var(--sa-card-hi);border-color:#3d3d3d;border-color:var(--sa-border-hi)}.sa-card-eyebrow{color:#6b6b73;color:var(--sa-text-faint);font-size:12px;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.sa-card-title{color:#e4e4e7;color:var(--sa-text);font-size:17px;font-weight:600;letter-spacing:-.01em}.sa-card-sub{color:#a1a1aa;color:var(--sa-text-dim);font-size:14px;line-height:1.4;margin-top:4px}.sa-card-primary{background:#00b509;background:var(--sa-green);border-color:#00b509;border-color:var(--sa-green);color:#001a01}.sa-card-primary .sa-card-title{color:#001a01}.sa-card-primary .sa-card-sub{color:#001a01c7}.sa-card-primary .sa-card-eyebrow{color:#001a01a6}.sa-card-primary:hover{background:#009a07;background:var(--sa-green-hover);border-color:#009a07;border-color:var(--sa-green-hover)}.sa-card-resume{background:#f59e0b14;border-color:#f59e0b59}.sa-card-resume .sa-card-eyebrow{color:#f59e0b;color:var(--sa-warning)}.sa-card-hero{background:linear-gradient(135deg,#00b5091f,#0000 70%),#111;background:linear-gradient(135deg,var(--sa-green-soft) 0,#0000 70%),var(--sa-card);border:1px solid #00b50959;border-left:4px solid #00b509;border:1px solid var(--sa-green-edge);border-left:4px solid var(--sa-green);min-height:110px;padding:22px 22px 24px;position:relative}.sa-card-hero:hover{background:linear-gradient(135deg,#00b5092e,#0000 70%),#1a1a1a;background:linear-gradient(135deg,#00b5092e 0,#0000 70%),var(--sa-card-hi);border-color:#00b509;border-color:var(--sa-green)}.sa-card-hero .sa-card-eyebrow{color:#00b509;color:var(--sa-green);font-weight:700}.sa-card-title-hero{font-size:22px;letter-spacing:-.015em;margin-top:2px}.sa-card-cta{align-items:center;background:#00b509;background:var(--sa-green);border-radius:999px;color:#001a01;display:inline-flex;font-size:13px;font-weight:700;letter-spacing:.02em;padding:8px 14px;position:absolute;right:22px;top:22px;white-space:nowrap}.sa-card-hero-blue{background:linear-gradient(135deg,#38bdf81f,#0000 70%),#111;background:linear-gradient(135deg,#38bdf81f 0,#0000 70%),var(--sa-card);border:1px solid #38bdf859;border-left:4px solid #38bdf8}.sa-card-hero-blue:hover{background:linear-gradient(135deg,#38bdf833,#0000 70%),#1a1a1a;background:linear-gradient(135deg,#38bdf833 0,#0000 70%),var(--sa-card-hi);border-color:#38bdf8}.sa-card-hero-blue .sa-card-eyebrow{color:#38bdf8}.sa-card-hero-blue .sa-card-cta{background:#38bdf8;color:#00131e}.sa-card-row{display:flex;gap:12px}.sa-card-half{flex:1 1;min-width:0}@media (max-width:600px){.sa-card-row{flex-direction:column}}.sa-hero-top{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.sa-resume-pill{align-items:flex-end;background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:12px;display:inline-flex;flex-direction:column;flex-shrink:0;padding:8px 14px;text-decoration:none;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.sa-resume-pill:active{background:#f59e0b2e;border-color:#f59e0b8c}.sa-resume-pill-eyebrow{color:#f59e0b;color:var(--sa-warning);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sa-resume-pill-label{color:#e4e4e7;color:var(--sa-text);font-size:13px;font-weight:600;margin-top:1px}.sa-card-unlock{background:#00b5091f;background:var(--sa-green-soft);border-color:#00b50959;border-color:var(--sa-green-edge)}.sa-card-unlock .sa-card-eyebrow{color:#00b509;color:var(--sa-green)}.sa-card-external{-webkit-appearance:none;appearance:none;cursor:pointer;display:block;font:inherit;text-align:left;width:100%}.sa-lesson-upsell{margin-top:8px}.sa-card-success{background:#10b9811a;border-color:#10b98159}.sa-card-success .sa-card-eyebrow{color:#10b981;color:var(--sa-success)}.sa-card-quiet{background:#0000;border-color:#0000}.sa-card-quiet:hover{background:#111;background:var(--sa-card);border-color:#2e2e2e;border-color:var(--sa-border)}.sa-unit-card{align-items:center;display:flex;gap:16px}.sa-unit-card-num{align-items:center;background:#00b5091f;background:var(--sa-green-soft);border:1px solid #00b50959;border:1px solid var(--sa-green-edge);border-radius:14px;color:#00b509;color:var(--sa-green);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:56px;justify-content:center;letter-spacing:-.01em;width:56px}.sa-unit-card-body{flex:1 1;min-width:0}.sa-paywall{padding:28px 20px 22px;text-align:center}.sa-paywall-price{color:#00b509;color:var(--sa-green);font-size:48px;font-weight:700;letter-spacing:-.02em;line-height:1}.sa-paywall-tag{color:#a1a1aa;color:var(--sa-text-dim);font-size:14px;margin-top:4px}.sa-paywall-list{list-style:none;margin:22px auto;max-width:380px;padding:0;text-align:left}.sa-paywall-list li{color:#e4e4e7;color:var(--sa-text);font-size:15px;padding:8px 0 8px 26px;position:relative}.sa-paywall-list li:before{color:#00b509;color:var(--sa-green);content:"✓";font-weight:700;left:0;position:absolute}.sa-paywall-fineprint{color:#6b6b73;color:var(--sa-text-faint);font-size:12px;line-height:1.5;margin:18px 0 0}.sa-confirm-line{color:#e4e4e7;color:var(--sa-text);font-size:15px;line-height:1.5;margin:22px auto 18px;max-width:380px}.sa-restore-msg{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:10px;color:#f59e0b;color:var(--sa-warning);font-size:13px;line-height:1.4;margin:14px 0 0;padding:10px 14px;text-align:left}.sa-btn{-webkit-appearance:none;appearance:none;border:0;border-radius:12px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;margin-top:10px;min-height:48px;padding:14px 20px;transition:opacity .1s ease,background .1s ease;width:100%}.sa-btn:disabled{cursor:default;opacity:.5}.sa-btn-primary{background:#00b509;background:var(--sa-green);color:#001a01}.sa-btn-primary:active:not(:disabled){background:#009a07;background:var(--sa-green-hover)}.sa-btn-quiet{background:#0000;border:1px solid #2e2e2e;border:1px solid var(--sa-border);color:#00b509;color:var(--sa-green)}.sa-btn-quiet:active:not(:disabled){background:#00b5091f;background:var(--sa-green-soft);border-color:#00b50959;border-color:var(--sa-green-edge)}.sa-challenge-block{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:14px;padding:16px 16px 20px}.sa-challenge-passed{color:#10b981;color:var(--sa-success);font-size:13px;font-weight:600;margin-top:8px}.sa-screen-playground{height:100vh;height:100dvh;overflow:hidden}.sa-main-playground{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:0;max-width:100%;min-height:0;overflow:hidden;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:100%}@media (max-width:480px){.sa-main.sa-main-playground{padding:4px 0 max(8px,env(safe-area-inset-bottom))}.sa-main.sa-main-playground>.java-runner{border:0;border-radius:0;box-shadow:none}}.sa-main-playground>.java-runner{display:flex;flex:1 1 auto;flex-direction:column;max-width:100%;min-height:0;width:100%}.sa-main-playground .java-runner-toolbar,.sa-main-playground .jr-file-tabs{flex-shrink:0}.sa-main-playground .java-runner-editor-wrap{display:flex;flex:1 1 auto;flex-direction:column;min-height:220px}.sa-main-playground .java-runner-editor-wrap>.jce-wrap{flex:1 1 auto;min-height:0}.sa-main-playground .java-runner-output{display:flex;flex:1 1 auto;flex-direction:column;min-height:160px;min-width:0;overflow:hidden}.sa-main-playground .jr-console-column{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}.sa-main-playground .java-runner-tabs{flex:0 0 auto}.sa-main-playground .jr-terminal{flex:1 1 auto;min-height:0;min-width:0;overflow:auto}.sa-main-playground .jce-wrap{flex:1 1 auto;min-height:0}.sa-main-playground .jce-highlight,.sa-main-playground .jce-textarea,.sa-main-playground .jce-wrap-view{height:100%}.sa-splash{align-items:center;background:radial-gradient(80% 60% at 50% 0,#00b5092e 0,#00b50900 70%),linear-gradient(180deg,#0a0a0a,#000);display:flex;justify-content:center;padding:32px 20px}.sa-content-loading,.sa-splash{min-height:100vh;min-height:100dvh}.sa-content-loading{background:#000;background:var(--sa-bg,#000)}.sa-splash-card{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:22px;box-shadow:0 20px 60px #0009;max-width:460px;padding:36px 28px 28px;text-align:center;width:100%}.sa-splash-mark{align-items:center;background:#00b509;background:var(--sa-green);border-radius:22px;box-shadow:0 0 40px #00b50959;display:flex;height:88px;justify-content:center;margin:0 auto 18px;width:88px}.sa-splash-mark-text{color:#001a01;font-size:26px;font-weight:800;letter-spacing:-.02em}.sa-splash-title{color:#e4e4e7;color:var(--sa-text);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.sa-splash-sub{color:#a1a1aa;color:var(--sa-text-dim);font-size:16px;line-height:1.45;margin:0 0 22px}.sa-splash-features{list-style:none;margin:0 auto 22px;max-width:340px;padding:0;text-align:left}.sa-splash-features li{color:#e4e4e7;color:var(--sa-text);font-size:15px;line-height:1.4;padding:7px 0 7px 26px;position:relative}.sa-splash-features li:before{color:#00b509;color:var(--sa-green);content:"✓";font-weight:700;left:0;position:absolute;top:7px}.sa-splash-cta{margin-top:6px}.sa-splash-fineprint{color:#6b6b73;color:var(--sa-text-faint);font-size:12px;margin:14px 0 0}.sa-tut-overlay{align-items:center;animation:sa-tut-fade .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000b8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}@keyframes sa-tut-fade{0%{opacity:0}to{opacity:1}}.sa-tut-card{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:18px;box-shadow:0 20px 60px #000000b3;max-width:460px;padding:26px 26px 22px;width:100%}.sa-tut-progress{display:flex;gap:6px;justify-content:center;margin-bottom:14px}.sa-tut-dot{background:#2e2e2e;background:var(--sa-border);border-radius:2px;height:4px;transition:background .2s ease;width:28px}.sa-tut-dot-active{background:#00b509;background:var(--sa-green)}.sa-tut-step{color:#00b509;color:var(--sa-green);font-size:12px;letter-spacing:.06em;margin-bottom:6px;text-align:center;text-transform:uppercase}.sa-tut-title{color:#e4e4e7;color:var(--sa-text);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px;text-align:center}.sa-tut-body{color:#a1a1aa;color:var(--sa-text-dim);font-size:15px;line-height:1.5;margin:0 0 20px;text-align:center}.sa-tut-body code{background:#1a1a1a;background:var(--sa-card-hi);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:5px;color:#e4e4e7;color:var(--sa-text);font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;padding:1px 6px}.sa-tut-actions{display:flex;flex-direction:column;gap:0}.sa-prose{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:14px;color:#e4e4e7;color:var(--sa-text);font-size:16px;line-height:1.55;padding:22px 24px}.sa-prose p{margin:0 0 12px}.sa-prose p:last-child{margin-bottom:0}.sa-prose-fineprint{color:#6b6b73;color:var(--sa-text-faint);font-size:13px;margin-top:18px}.sa-lesson-nav{display:flex;gap:12px;margin-top:16px}.sa-lesson-nav-btn{background:#111;background:var(--sa-card);border:1px solid #2e2e2e;border:1px solid var(--sa-border);border-radius:12px;color:#e4e4e7;color:var(--sa-text);display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-height:64px;padding:14px 16px;text-decoration:none;transition:background .12s ease,border-color .12s ease}.sa-lesson-nav-btn:active{background:#1a1a1a;background:var(--sa-card-hi);border-color:#3d3d3d;border-color:var(--sa-border-hi)}.sa-lesson-nav-next{align-items:flex-end;text-align:right}.sa-lesson-nav-prev{align-items:flex-start;text-align:left}.sa-lesson-nav-disabled{cursor:default;opacity:.4;pointer-events:none}.sa-lesson-nav-eyebrow{color:#6b6b73;color:var(--sa-text-faint);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.sa-lesson-nav-label{color:#e4e4e7;color:var(--sa-text);font-size:15px;font-weight:600}.sa-feature-section{background:linear-gradient(180deg,#00b5090f,#0000 80%),#111;background:linear-gradient(180deg,var(--sa-feature-tint,#00b5090f) 0,#0000 80%),var(--sa-card);border:1px solid #2e2e2e;border-left:4px solid #00b509;border:1px solid var(--sa-border);border-left:4px solid var(--sa-feature-accent,var(--sa-green));border-radius:14px;margin-bottom:14px;padding:18px 22px;position:relative}.sa-feature-h2{color:#00b509;color:var(--sa-feature-accent,var(--sa-green));font-size:18px;font-weight:700;letter-spacing:.01em;margin:0 0 10px}.sa-feature-blurb{color:#a1a1aa;color:var(--sa-text-dim);font-size:15px;line-height:1.5;margin:0 0 10px}.sa-feature-blurb a{color:#00b509;color:var(--sa-feature-accent,var(--sa-green));font-weight:600;text-decoration:none}.sa-feature-blurb a:hover{text-decoration:underline}.sa-feature-list{color:#e4e4e7;color:var(--sa-text);font-size:15px;line-height:1.55;list-style:disc;margin:0;padding-left:20px}.sa-feature-list li{margin:6px 0}.sa-feature-list li::marker{color:#00b509;color:var(--sa-feature-accent,var(--sa-green))}.sa-feature-list strong{color:#e4e4e7;color:var(--sa-text)}.sa-feature-editor{--sa-feature-accent:#22c55e;--sa-feature-tint:#22c55e1a}.sa-feature-language{--sa-feature-accent:#38bdf8;--sa-feature-tint:#38bdf81a}.sa-feature-io{--sa-feature-accent:#a78bfa;--sa-feature-tint:#a78bfa1f}.sa-feature-runtime{--sa-feature-accent:#f59e0b;--sa-feature-tint:#f59e0b1a}.sa-feature-outscope{--sa-feature-accent:#ef4444;--sa-feature-tint:#ef444414}@media (max-width:900px){.sa-hero-title{font-size:28px}.sa-hero-sub{font-size:15px}.sa-main{padding:16px}}@media (max-width:480px){.sa-header-inner-hero{padding:24px 18px 22px}.sa-hero-title{font-size:24px;line-height:1.15}.sa-hero-sub{font-size:14px}.sa-main{padding:16px max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.sa-card{padding:16px 18px}.sa-card-title{font-size:16px}.sa-card-title-hero{font-size:18px}.sa-splash{padding:24px 16px}.sa-splash-card{padding:28px 22px}.sa-splash-title{font-size:24px}.sa-splash-sub{font-size:15px}.sa-resume-pill{padding:6px 10px}.sa-resume-pill-eyebrow{font-size:10px}}