:root{font-family:Courier New,Courier,monospace;line-height:1.6;font-weight:400;font-size:15px;color-scheme:dark;color:#eee;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #e36d12;--accent-dim: #b3560e;--accent-light: #f9603a;--success: #39a223;--error: #ff4444;--warning: #ffaa00;--text: #eeeeee;--text-light: #ffffff;--text-dim: #aaaaaa;--text-muted: #666666;--bg: #0a0a0a;--bg-card: #111111;--border: #333333}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}a{font-weight:500;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}a:hover{color:var(--accent-light);border-bottom-color:var(--accent)}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:1rem}p{margin:0 0 1rem}button{border-radius:0;border:1px solid var(--accent);padding:.6em 1.2em;font-size:.85rem;font-weight:500;font-family:inherit;background:transparent;color:var(--accent);cursor:pointer;transition:all .15s}button:hover{background:var(--accent);color:#000;box-shadow:0 0 10px #e66d1280}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}button.small{padding:.3em .6em;font-size:.75rem}input,select,textarea{background:#fff!important;border:1px solid var(--border);color:#000!important;padding:.6em .8em;border-radius:0;font-size:.85rem;font-family:inherit;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 5px #e66d124d}input::placeholder{color:var(--text-muted)}label{display:block;margin-bottom:.4em;font-weight:500;font-size:.75rem;color:var(--text-dim)}form{display:flex;flex-direction:column;gap:.8rem}form .form-footer{text-align:center;margin-top:.5rem;font-size:.8rem;color:var(--text-dim)}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{padding:.6em .8em;text-align:left;border-bottom:1px solid var(--border)}th{background:var(--bg-card);font-weight:600;font-size:.75rem;color:var(--text-dim)}tr:hover td{background:#e66d1208}code{background:#000;padding:.15em .4em;border-radius:0;font-family:inherit;font-size:.8em;color:var(--accent-light)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:0;padding:1.2em}.error{color:var(--error);padding:.6em .8em;background:#ff44440d;border:1px solid var(--error);border-radius:0;font-size:.8rem}.success{color:var(--success);padding:.6em .8em;background:#39a2230d;border:1px solid var(--success);border-radius:0;font-size:.8rem}.loading{display:flex;align-items:center;justify-content:center;padding:2em;color:var(--text-muted);font-size:.85rem}.empty-state{text-align:center;padding:2em;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:0;font-size:.85rem}hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}pre{background:#000;padding:1em;border-radius:0;overflow-x:auto;font-family:inherit;font-size:.8rem;color:var(--text-light)}::selection{background:var(--accent);color:#000}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stat-card{background:var(--bg-card);border:1px solid var(--border);padding:1em;text-align:center}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-top:.25em}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.75em;border-bottom:1px solid var(--border)}.data-table th{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:400}.data-table td{font-size:.9rem}.fade-in{animation:fadeIn .3s ease-out}.admin-tabs{display:flex;gap:0;margin-bottom:1.5em;border-bottom:1px solid var(--border);position:relative;z-index:10}.admin-tabs button{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:.75em 1.5em;cursor:pointer;font-size:.9rem;font-family:inherit;position:relative;z-index:20}.admin-tabs button:hover{color:var(--text)}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-content{position:relative;z-index:1;text-align:left;width:100%}.admin-page{width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem 2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border:1px solid var(--border);padding:1.25rem 1.5rem;background:linear-gradient(135deg,#ffffff0d,#fff0)}.admin-header h1{margin:0;font-size:1.4rem;letter-spacing:.03em}.admin-subtitle{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem}.admin-live{display:flex;align-items:center;gap:1rem}.admin-live-totals{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:right}.admin-live-chart{width:180px;height:40px}.admin-live-chart path{fill:none;stroke:var(--accent);stroke-width:2;opacity:.9}.admin-section{background:var(--bg-card);border:1px solid var(--border);padding:1.5em;position:relative;z-index:1;text-align:left}.admin-section h3{margin:0 0 1em;font-size:1rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.admin-sessions-table .session-code{position:relative}.admin-sessions-table .session-code-wrap{display:inline-block;position:relative;max-width:28px}.admin-sessions-table .session-code code{display:inline-block;max-width:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;opacity:.6}.admin-sessions-table .session-code code:hover,.admin-sessions-table .session-code code:focus{opacity:1}.admin-sessions-table .session-code code[data-copied=true]{opacity:1}.admin-sessions-table .session-code-tooltip,.admin-sessions-table .session-code-copied{position:absolute;left:0;top:100%;margin-top:.2rem;background:var(--bg);border:1px solid var(--border);padding:.2rem .4rem;font-size:.75rem;color:var(--text);opacity:0;pointer-events:none;white-space:nowrap;z-index:2;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.admin-sessions-table .session-code-copied{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:.7rem}.admin-sessions-table .session-code-wrap:hover .session-code-tooltip{opacity:1;transform:translateY(0)}.admin-sessions-table .session-code code[data-copied=true]+.session-code-tooltip{opacity:0}.admin-sessions-table .session-code code[data-copied=true]~.session-code-copied{opacity:1;transform:translateY(0)}.admin-session-section td{padding:.6rem .75rem;background:#0b0e14;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.admin-session-section-row{display:flex;justify-content:space-between;align-items:center}.admin-session-section-title{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--text-muted)}.admin-session-summary{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.admin-summary-card{border:1px solid var(--border);background:var(--bg-card);padding:.75rem;display:flex;flex-direction:column;gap:.35rem}.admin-summary-card .card-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-summary-card .card-value{font-size:.95rem;color:var(--text)}.admin-session-users{margin-bottom:1.5rem}.admin-user-chips{display:flex;flex-wrap:wrap;gap:.4rem}.admin-question-details summary{cursor:pointer;color:var(--accent);font-size:.85rem}.admin-question-detail-body{margin-top:.75rem;display:flex;flex-direction:column;gap:1rem}.admin-question-row td{background:#ffffff05}.admin-question-summary{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-question-summary div{display:flex;flex-direction:column;gap:.25rem}.admin-content-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-content-grid div{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border);padding:.5rem .6rem;background:var(--bg)}.admin-response-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-response-grid div{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--border);padding:.4rem .5rem;background:var(--bg)}.admin-content-key{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-content-value{font-size:.9rem;color:var(--text)}.admin-user-session-list{border:1px solid var(--border);background:var(--bg)}.admin-user-session-head,.admin-user-session-row{display:grid;grid-template-columns:2.2fr repeat(6,1fr);gap:.5rem;padding:.6rem .75rem;align-items:center}.admin-user-session-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-card)}.admin-user-session-row{font-size:.85rem;border-bottom:1px solid var(--border)}.admin-user-session-row:last-child{border-bottom:none}.admin-user-session-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-session-empty{padding:.6rem .75rem;color:var(--text-muted);font-size:.85rem}.admin-cohorts-table td{vertical-align:top}.admin-cohorts-table .cohort-title{display:flex;flex-direction:column;gap:.2rem}.admin-cohorts-table .cohort-title code{font-size:.75rem;color:var(--text-dim)}.cohort-users-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.cohort-user-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .6rem;border:1px solid var(--border);background:var(--bg);cursor:default;flex-wrap:wrap}.cohort-user-name{font-size:.9rem;color:var(--text)}.cohort-user-id{font-size:.75rem;color:var(--text-muted)}.cohort-user-select{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.25rem .4rem;font-size:.8rem}.admin-question-content pre,.admin-json-block pre{background:var(--bg);border:1px solid var(--border);padding:.75rem;max-height:260px;overflow:auto;font-size:.8rem}.admin-question-answers code{white-space:pre-wrap;word-break:break-word}.admin-json-block{margin-top:1.5rem}.admin-json-block summary{cursor:pointer;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.admin-codecell{margin-top:2rem;border:1px solid var(--border);background:var(--bg-card);padding:1rem}.admin-codecell-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.admin-codecell-controls{margin-bottom:.75rem}.admin-codecell-controls label{display:flex;flex-direction:column;gap:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-codecell-controls select{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.35rem .5rem;font-size:.85rem}.admin-codecell-tests{margin-bottom:1rem}.admin-codecell-tests label{display:flex;flex-direction:column;gap:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-codecell-tests textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.5rem .6rem;font-family:monospace;font-size:.85rem;min-height:90px}.admin-tests-editor{position:relative;min-height:140px;border:1px solid #111;background:#1e1e1e}.admin-tests-editor .monaco-host{border:none}.section-actions{display:flex;align-items:center;gap:.75rem}.admin-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-card{border:1px solid var(--border);background:#0d1118;padding:1rem;display:flex;flex-direction:column;gap:.4rem}.card-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:var(--text-muted)}.card-value{font-size:1.4rem;font-weight:600;color:var(--text)}.admin-filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.admin-filters label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.admin-filters input,.admin-filters select{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.35rem .5rem;font-size:.85rem}.admin-users-table th{cursor:default}.admin-users-table th.sortable{cursor:pointer}.admin-sort-button{background:none;border:none;padding:0;margin:0;font:inherit;text-transform:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.admin-sort-button:hover{color:var(--text)}.admin-sort-button .sort-caret{display:inline-flex;flex-direction:column;gap:.1rem;width:.4rem}.admin-sort-button .sort-caret:before,.admin-sort-button .sort-caret:after{content:"";width:0;height:0;border-left:.25rem solid transparent;border-right:.25rem solid transparent;opacity:.35}.admin-sort-button .sort-caret:before{border-bottom:.35rem solid var(--text-dim)}.admin-sort-button .sort-caret:after{border-top:.35rem solid var(--text-dim)}.admin-sort-button .sort-caret[data-dir=asc]:before,.admin-sort-button .sort-caret[data-dir=desc]:after{opacity:1;border-bottom-color:var(--accent);border-top-color:var(--accent)}.admin-table-wrap{border:1px solid var(--border);background:var(--bg-card);overflow-x:auto;box-shadow:4px 4px #111;margin-top:.5rem}.admin-users-table{width:100%;border-collapse:collapse}.admin-users-table thead th{position:sticky;top:0;background:var(--bg-card);z-index:1}.admin-users-table tbody tr:nth-child(2n) td{background:#ffffff05}.admin-users-table td.numeric,.admin-users-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-users-table th:first-child,.admin-users-table td:first-child{width:24px}.expanded-row td{background:#0f1218}.expanded-content{padding:.75rem .5rem;border:1px solid var(--border);background:#0b0e14}.expanded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1em}.tag{display:inline-block;background:var(--accent-dim);color:var(--accent);padding:.2em .5em;font-size:.75rem;margin-right:.25em;border-radius:0}.tag-remove{margin-left:.35em;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.85rem;padding:0}.code-libraries-admin{display:flex;flex-direction:column;gap:1rem}.code-library-list{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.code-library-actions{display:flex;gap:.5rem;align-items:center}.code-library-actions input{max-width:320px}.text-muted{color:var(--text-muted)}.inline-form{display:flex;gap:.5em;margin-bottom:1em}.inline-form input{flex:1;max-width:300px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border:1px solid var(--border);width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1em;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1rem}.modal-header button{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-body{padding:1em}.form-group{margin-bottom:1em}.form-group label{display:block;margin-bottom:.5em;font-size:.85rem;color:var(--text-muted)}.form-group select{width:100%}.roles-list{display:flex;flex-direction:column;gap:.5em}.role-item{display:flex;justify-content:space-between;align-items:center;padding:.5em;background:var(--bg);border:1px solid var(--border)}.question-card{background:var(--bg);border:1px solid var(--border);padding:1em;margin-bottom:1em}.question-header{display:flex;gap:.5em;margin-bottom:.5em}.question-type{background:var(--accent-dim);color:var(--accent);padding:.2em .5em;font-size:.75rem}.question-state{background:var(--border);padding:.2em .5em;font-size:.75rem}.question-content{background:var(--bg);padding:.5em;font-size:.8rem;overflow-x:auto;white-space:pre-wrap}.question-stats{font-size:.85rem;color:var(--text-muted);margin:.5em 0}.session-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;margin-bottom:1em;padding:1em;background:var(--bg);border:1px solid var(--border)}.session-meta p{margin:0;font-size:.9rem}.data-table.small{font-size:.8rem}.data-table.small th,.data-table.small td{padding:.5em}button.danger{background:var(--error);color:#fff;border:none;padding:.3em .6em;font-size:.75rem;cursor:pointer}.home{width:100%;min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem 0}.admin-page{width:100%;padding-top:1rem}.admin-page .home-tagline{text-align:left;margin-bottom:1rem}.admin-page .admin-tabs{text-align:left}.cohort-users{display:flex;flex-direction:column;gap:.4rem}.cohort-users-count{font-weight:600}.cohort-users-list{display:flex;flex-wrap:wrap;gap:.35rem}.cohort-metrics{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.cohort-metrics .metric.success{color:var(--success)}.cohort-row{cursor:pointer}.link-btn{background:none;border:none;color:var(--text);cursor:pointer;font-size:.9rem;padding:0}.cohort-detail-row td{background:#0f1218;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cohort-detail{padding:.75rem .25rem .5rem;display:flex;flex-direction:column;gap:.5rem}.cohort-detail-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-dim)}.cohort-users-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.4rem}.cohort-users-table{width:100%;border-collapse:collapse;margin-top:.25rem}.cohort-users-table th,.cohort-users-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border);text-align:left}.cohort-user-actions{display:flex;flex-wrap:wrap;gap:.35rem}.cohort-user-actions select{min-width:140px}.tag.light{background:var(--border);color:var(--text)}.home-top{width:100%;max-width:760px;display:flex;justify-content:center;align-items:flex-start;position:relative;margin:0 auto .4rem}.home-header{margin-bottom:0;text-align:center}.home-header h1{font-family:Courier New,Courier,monospace;font-size:4rem;font-weight:700;margin:0;background:#fff;color:#000;padding:.5rem 1.5rem;box-shadow:6px 6px #888;transition:all .1s}.home-header .version{display:block;font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.home-header:active h1{transform:translate(6px,6px);box-shadow:0 0;background:linear-gradient(to right,#f9603a,#e36d12);color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.home-tagline{font-size:1rem;color:var(--text-dim);margin:0 auto 3.6rem;max-width:400px;text-align:center}.home-cta{position:fixed;top:1.25rem;right:1.5rem;background:#fff;color:#000;padding:.45rem 1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;border:1px solid #fff;box-shadow:4px 4px #111;transition:transform .12s,box-shadow .12s;align-self:flex-start}.home-cta:hover{color:#000;background:#fff}.home-cta:active{transform:translate(2px,2px);box-shadow:2px 2px #111;background:linear-gradient(to right,#f9603a,#e36d12);color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.home-carousel{width:100%;max-width:760px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center}.stats-slide{width:100%;color:#f4f4f4;text-align:center;animation:slide-soft .36s cubic-bezier(.22,1,.36,1)}.stats-slide h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:#f6f6f6;font-family:Courier New,Courier,monospace}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;justify-items:center}.stat-card{background:#fff;border:1px solid #fff;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;width:180px;min-height:110px;box-shadow:4px 4px #111}.stat-value{font-size:2rem;font-weight:700;color:#000;font-family:Courier New,Courier,monospace}.stat-label{font-size:.85rem;color:#222;text-transform:uppercase;letter-spacing:.08em}.stats-loading{margin-top:.75rem;font-size:.85rem;color:#b6b6b6}.leaderboard-slide{background:#fff;border:1px solid #fff;padding:.75rem;box-shadow:4px 4px #111}.leaderboard-slide .leaderboard-table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.4}.leaderboard-slide .leaderboard-table th,.leaderboard-slide .leaderboard-table td{padding:.4rem .5rem;border-bottom:1px solid #e6e6e6;text-align:center;vertical-align:middle}.leaderboard-slide .leaderboard-table th{text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:700;color:#fff;background:#111}.leaderboard-slide .leaderboard-table td{color:#111;font-weight:500}.leaderboard-slide .leaderboard-table .open-label{display:inline-block;background:#000;color:#fff;padding:.18rem .45rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;line-height:1}.carousel-frame{border:none;padding:0;background:transparent;min-height:200px;display:flex;align-items:center;justify-content:center}.black-slide{width:100%;height:160px;background:transparent;display:flex;align-items:center;justify-content:center;color:#f4f4f4;font-weight:600;letter-spacing:.5px}.slide-label{font-size:.9rem;color:#ccc}.home-actions{display:flex;gap:.75rem;margin-bottom:3rem;align-items:center;justify-content:center;flex-wrap:nowrap}.home-actions .btn{height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .85rem;font-size:.7rem;line-height:1;white-space:nowrap}.home-actions.centered{justify-content:center}.home-join{display:inline-flex;align-items:center;min-width:0}.home-join-form{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:nowrap;flex-direction:row;white-space:nowrap;min-width:0}.home-join-form input{min-width:0;width:12ch;padding:.5rem .7rem;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.85rem;height:2rem;box-sizing:border-box}.home-join-form .btn{height:2rem;padding:0 .6rem;font-size:.6rem;line-height:1}.home-actions .btn{border:1px solid var(--accent);color:var(--accent)}.home-actions .btn:hover{background:var(--accent);color:#000;box-shadow:0 0 15px #e66d1280}.home-actions .btn-primary{background:var(--accent);color:#000}.home-actions .btn-primary:hover{background:var(--accent-light)}.home-dashboard{width:100%;max-width:700px}.home-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.home-slide{width:100%}.carousel-status{color:var(--text-dim);font-size:.85rem}.leaderboard-panel{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}.leaderboard-nav{background:none;border:1px solid var(--border);color:var(--text);font-size:1.2rem;padding:.35rem .6rem;cursor:pointer}.leaderboard-nav:hover{border-color:var(--accent)}.leaderboard-table-wrap{display:flex;flex-direction:column;gap:.35rem}.home-dashboard-header h2{margin:0;font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.home-dashboard-header button{padding:.5em 1em;font-size:.8rem}.home-sessions{width:100%;max-width:600px}.home-sessions h2{font-size:.85rem;color:var(--text-dim);margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes slide-soft{0%{opacity:0;transform:translate3d(0,10px,0);filter:blur(2px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.stats-slide{animation:none}}.login-actions{width:100%;max-width:320px;margin:0 auto;justify-content:center}.login-actions form{width:100%}#sessions-table{width:100%;border-collapse:collapse}#sessions-table th,#sessions-table td{padding:.6em .8em;text-align:left;border-bottom:1px solid var(--border)}#sessions-table th{background:var(--bg-card);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-dim)}#sessions-table th .sort-button{background:none;border:none;padding:0;margin:0;font:inherit;text-transform:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}#sessions-table th .sort-button:hover{color:var(--text)}#sessions-table th .sort-caret{display:inline-flex;flex-direction:column;gap:.1rem;width:.4rem}#sessions-table th .sort-caret:before,#sessions-table th .sort-caret:after{content:"";width:0;height:0;border-left:.25rem solid transparent;border-right:.25rem solid transparent;opacity:.35}#sessions-table th .sort-caret:before{border-bottom:.35rem solid var(--text-dim)}#sessions-table th .sort-caret:after{border-top:.35rem solid var(--text-dim)}#sessions-table th .sort-caret[data-dir=asc]:before,#sessions-table th .sort-caret[data-dir=desc]:after{opacity:1;border-bottom-color:var(--accent);border-top-color:var(--accent)}#sessions-table tr:hover td{background:#e66d120d}#sessions-table a{color:var(--accent)}#sessions-table .empty{color:var(--text-muted);font-size:.85rem}.profile-page{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;padding-bottom:16px;overflow:hidden;box-sizing:border-box}.profile-header{margin-bottom:.15rem}.message-slot{min-height:40px;margin-bottom:.1rem;display:flex;align-items:center;justify-content:center}.message-slot .message{width:100%;text-align:center}.profile-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.summary-item{border:1px solid var(--border);padding:.6rem .85rem;background:var(--bg-card)}.summary-label{display:block;font-size:.7rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.summary-value{display:block;margin-top:.35rem;font-size:.95rem}.section-actions select{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.35rem .5rem;font-size:.85rem}.summary-value .link{color:var(--accent)}.summary-value .link:hover{text-decoration:underline}.activity-table td{font-size:.85rem}.activity-scroll{max-height:280px;overflow-y:auto;border:1px solid var(--border)}.activity-scroll .activity-table{border:none}.activity-scroll .activity-table thead th{position:sticky;top:0;background:var(--bg-card);z-index:1}.sessions-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;border:1px solid var(--border)}.sessions-scroll #sessions-table{border:none}.sessions-scroll #sessions-table thead th{position:sticky;top:0;background:var(--bg-card);z-index:1}.profile-tabs{display:flex;gap:0;margin:.2rem 0 .75rem;border:1px solid var(--border)}.profile-tabs button{flex:1;padding:.75rem 1rem;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .15s}.profile-tabs button:last-child{border-right:none}.profile-tabs button:hover{background:#ffffff08;color:var(--text)}.profile-tabs button.active{background:var(--bg-card);color:var(--accent);border-bottom:2px solid var(--accent)}.profile-page .message{opacity:0;transform:translateY(0);transition:opacity .2s ease;padding:.35rem .6rem}.profile-page .message.is-visible{opacity:1;transform:translateY(0)}.profile-header h1{margin:0;font-size:1.75rem}.profile-section{margin-bottom:1.35rem}.sessions-section{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.leaderboard-header{gap:.75rem}.leaderboard-header button{padding:.35rem .75rem;font-size:.9rem}.leaderboard-title{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1}.leaderboard-toggle{display:inline-flex;border:1px solid var(--border)}.leaderboard-toggle button{padding:.25rem .6rem;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:.75rem}.leaderboard-toggle button:last-child{border-right:none}.leaderboard-toggle button.active{color:var(--accent);background:var(--bg-card)}.section-header h2{margin:0;font-size:.85rem;text-transform:uppercase;color:var(--text-dim);letter-spacing:.5px}.auth-required{text-align:center;padding:3rem}.auth-required p{color:var(--text-muted);margin-bottom:1rem}.leaderboard-carousel{display:flex;flex-direction:column;gap:.5rem}.leaderboard-carousel .data-table{width:100%;border-collapse:collapse}.leaderboard-carousel .data-table th,.leaderboard-carousel .data-table td{padding:.6em .8em;text-align:left;border-bottom:1px solid var(--border)}.leaderboard-carousel .data-table th{background:var(--bg-card);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-dim)}.leaderboard-carousel .data-table tr:hover td{background:#e66d120d}.carousel-controls{display:flex;align-items:center;gap:.5rem}.carousel-controls button{padding:.35rem .75rem;font-size:.9rem}.carousel-status{color:var(--text-muted);font-size:.85rem}footer{width:100%;background-color:#f1f1f1;text-align:center;padding:10px 16px;box-shadow:0 -2px 5px #0000001a;font-size:14px;color:#555;height:40px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.session-info{border:1px solid var(--border);padding:1.75rem;margin-bottom:2rem;background:linear-gradient(135deg,#ffffff08,#fff0);box-shadow:0 10px 24px #00000040}.session-info-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;justify-content:space-between;flex-wrap:wrap}.session-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-name{cursor:text}.session-name-edit{border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.9rem;padding:.1rem .35rem;line-height:1}.session-name-edit:hover{color:var(--accent);border-color:var(--accent)}.session-name-input{font-size:1.5rem;font-weight:600;background:transparent;color:var(--text);border:1px solid var(--border);padding:.2rem .4rem;width:auto}.session-info-header h1{margin:0;font-size:1.6rem;letter-spacing:.01em}.owner-badge{font-size:.75rem;color:var(--accent);border:1px solid var(--accent);padding:.25em .6em;border-radius:999px;text-transform:uppercase;letter-spacing:.08em}.session-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.active-users{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.active-users-list{font-size:.9rem;color:var(--text);line-height:1.4;word-break:break-word}.info-item{display:flex;flex-direction:column;gap:.3rem;padding:.75rem .85rem;border:1px solid var(--border);background:#0f1218b3}.info-label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em}.info-value{font-size:.95rem;display:flex;align-items:center;gap:.5rem}.info-value code{font-size:1rem;word-break:break-all;background:#ffffff0a;padding:.1rem .35rem;border-radius:4px}.info-value button.small{padding:.2em .5em;font-size:.7rem}.status-badge{text-transform:capitalize;padding:.2em .5em;border-radius:3px;font-size:.8rem;font-weight:500}.status-badge[data-state=lobby]{background:var(--border);color:var(--text)}.status-badge[data-state=running]{background:#22c55e20;color:#22c55e;border:1px solid #22c55e40}.status-badge[data-state=paused]{background:#f59e0b20;color:#f59e0b;border:1px solid #f59e0b40}.status-badge[data-state=ended]{background:#ef444420;color:#ef4444;border:1px solid #ef444440}.session-controls{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem;flex-wrap:wrap}.control-btn{padding:.6rem 1.2rem;font-size:.85rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s}.control-btn:hover:not(:disabled){opacity:.85}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn.start{background:#22c55e;color:#fff}.control-btn.pause{background:#f59e0b;color:#fff}.control-btn.end{background:#ef4444;color:#fff}.code-cell{border:1px solid var(--border);background:#1e1e1e}.code-prompt{padding:.75rem .85rem;background:#141414;border-bottom:1px solid #2a2a2a;color:#e8e8e8;line-height:1.6}.code-prompt :is(h1,h2,h3){margin:.25rem 0 .5rem;font-weight:600}.code-prompt :is(p,ul,ol,pre,blockquote){margin:0 0 .75rem}.code-prompt pre{background:#0f0f0f;padding:.6rem;border-radius:6px;overflow:auto}.code-input-wrapper{border-bottom:1px solid #333;position:relative;min-height:220px}.monaco-host{width:100%;height:100%;border:1px solid #111;position:absolute;inset:0;opacity:0;pointer-events:none}.code-input-wrapper .monaco-host{border:none}.monaco-host.ready{opacity:1;pointer-events:auto}.code-input{width:100%;min-height:150px;padding:.75rem;background:#1e1e1e;color:#d4d4d4;border:none;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.5;resize:vertical;box-sizing:border-box}.code-input:focus{outline:none}.code-input:disabled{opacity:.7}.code-input::placeholder{color:#6a6a6a}.code-actions{display:flex;gap:.5rem;padding:.5rem .75rem;background:#252526;border-top:1px solid #333}.run-button{background:#2d2d2d;color:#51cf66;border:1px solid #51cf66;padding:.4rem 1rem;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .15s}.run-button:disabled{opacity:.4;cursor:not-allowed}.submit-button{background:var(--accent);color:#111;border:1px solid var(--accent);padding:.4rem 1rem;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .15s}.submit-button:hover:not(:disabled){background:var(--accent-light)}.submit-button:disabled{opacity:.4;cursor:not-allowed}.code-output{border-top:1px solid #333;background:#111}.code-result,.code-vars{border-top:1px solid #2a2a2a;background:#0f0f0f}.code-result pre,.code-vars pre{margin:0;padding:.75rem;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.code-vars-table{width:100%;border-collapse:collapse}.code-vars-table th,.code-vars-table td{padding:.5rem .75rem;border-bottom:1px solid #222;font-size:.8rem}.code-vars-table th{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.code-vars-empty{padding:.75rem;color:#666;font-size:.85rem}.code-output-header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;border-bottom:1px solid #222;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#999}.code-libraries{font-size:.7rem;color:#7ec8ff;text-transform:none}.code-output pre{margin:0;padding:.75rem;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.code-output pre.success{color:#51cf66}.code-output pre.error{color:#ff6b6b}.code-cell.read-only{border-color:#444}.code-cell.read-only .code-input{background:#151515;color:#aaa}.code-cell.read-only .code-actions{display:none}.visualize-button{background:#2d2d2d;color:#9ecbff;border:1px solid #9ecbff;padding:.4rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .15s}.visualize-button:hover:not(:disabled){background:#9ecbff;color:#111}.visualize-button:disabled{opacity:.4;cursor:not-allowed}.details-button{background:#2d2d2d;color:#ffce7a;border:1px solid #ffce7a;padding:.4rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .15s}.details-button:hover:not(:disabled){background:#ffce7a;color:#111}.tests-button{background:#2d2d2d;color:#8de1a6;border:1px solid #8de1a6;padding:.4rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .15s}.tests-button:hover:not(:disabled){background:#8de1a6;color:#111}.code-tests{border-top:1px solid #2a2a2a;background:#0f0f0f}.code-tests-summary{color:#8de1a6;font-size:.75rem}.code-tests-table{width:100%;border-collapse:collapse}.code-tests-table th,.code-tests-table td{padding:.5rem .75rem;border-bottom:1px solid #222;font-size:.8rem}.code-tests-table th{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.code-tests-table tr.passed td{color:#8de1a6}.code-tests-table tr.failed td{color:#ff8e8e}.hidden-test-banner{border:1px solid #ff8e8e;background:#ff8e8e14;color:#ffd2d2;margin-top:.75rem;padding:.75rem}.hidden-test-banner-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.4rem}.hidden-test-toggle{background:transparent;border:1px solid #ff8e8e;color:#ffd2d2;padding:.2rem .6rem;font-size:.75rem;cursor:pointer}.hidden-test-message{font-size:.85rem}.hidden-test-details{margin-top:.5rem;padding:.5rem;background:#1a0f0f;border:1px solid #3a1f1f;font-size:.75rem;white-space:pre-wrap}.code-visualizer{border-top:1px solid #2a2a2a;background:#0f0f0f;padding:.75rem}.code-visualizer-note{font-size:.8rem;color:#c4a66a;margin-bottom:.5rem}.pytutor-frame{width:100%;min-height:520px;border:1px solid #2d2d2d;background:#fff}.questions-section{margin-top:2rem}.questions-section h3{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.questions-list{display:flex;flex-direction:column;gap:1rem}.question-card{border:1px solid var(--border);padding:1rem;cursor:pointer}.question-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px #e66d1266}.question-card.active{border-color:var(--accent)}.question-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.question-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%}.question-heading h4{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:1rem;font-weight:600}.question-type-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .45rem;border:1px solid var(--accent);background:var(--bg-card);color:var(--accent)}.question-status-text{font-style:italic;font-size:.85rem;color:var(--text-muted);white-space:nowrap}.question-status-text.state-active{color:var(--success)}.question-status-text.state-draft{color:var(--warning)}.question-status-text.state-closed{color:var(--text-muted)}.question-type{font-size:.7rem;text-transform:uppercase;color:var(--text-muted)}.question-state{font-size:.7rem;text-transform:uppercase;padding:.15em .4em}.question-state.draft{color:var(--warning);border:1px solid var(--warning)}.question-state.active{color:var(--success);border:1px solid var(--success)}.question-state.closed{color:var(--text-muted);border:1px solid var(--border)}.question-body{margin-bottom:.75rem}.question-answers{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.question-answers-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem}.code-answers-list{display:flex;flex-direction:column;gap:1rem}.code-answer-card{border:1px solid var(--border);padding:.75rem;background:#0f121899}.code-answer-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:transparent;color:var(--text);font-size:.85rem;line-height:1.2}.code-answer-controls{display:inline-flex;align-items:center;gap:.5rem}.code-answer-toggle .toggle-text{border:1px solid var(--border);background:transparent;color:var(--text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;padding:.2rem .45rem;cursor:pointer;line-height:1}.code-answer-card .CodeCell,.code-answer-card .code-cell{margin-top:.75rem}.code-answer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem}.code-answer-header .correct{color:var(--success)}.code-answer-header .incorrect{color:var(--error)}.code-answer-grade{margin-top:.5rem}.question-answers .answer-actions{display:flex;gap:.35rem;min-width:140px;justify-content:flex-end;align-items:center}.question-answers .answer-actions .grade-toggle{padding:.1rem .35rem;font-size:.7rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);line-height:1;height:1.4rem}.question-answers .answer-actions .grade-icon{padding:.2rem .45rem;font-size:.9rem;border:1px solid var(--border);background:transparent;line-height:1;height:1.6rem}.question-answers .answer-actions .grade-icon.correct{color:var(--success);border-color:#22c55e66}.question-answers .answer-actions .grade-icon.incorrect{color:var(--error);border-color:#ef444466}.question-answers .answer-actions .grade-confirm,.question-answers .answer-actions .grade-cancel{padding:.1rem .3rem;font-size:.55rem;line-height:1;height:1.2rem}.question-body p{margin:0 0 .5rem}.choices-list{list-style:none;padding:0;margin:.5rem 0}.choices-list li{padding:.25rem 0}.choices-list li.correct{color:var(--success)}.question-actions{display:flex;gap:.5rem}.question-actions button{padding:.4em .75em;font-size:.75rem}.question-actions button.danger{border-color:var(--error);color:var(--error)}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.question-input{border:1px solid var(--border);padding:1.5rem;margin-bottom:2rem}.question-input h3{margin:0 0 1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.question-input-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.link-button{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.multi-modal{position:fixed;inset:0;background:#06080cd9;z-index:999;display:flex;align-items:center;justify-content:center;padding:1.5rem}.multi-modal-panel{width:min(1100px,95vw);max-height:90vh;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column}.multi-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.multi-modal-header .close{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.2rem .5rem}.multi-modal-body{padding:1rem 1.25rem;overflow:auto;display:flex;flex-direction:column;gap:1rem}.multi-question-card{border:1px solid var(--border);padding:1rem;background:#0f121899}.multi-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.multi-modal-footer{border-top:1px solid var(--border);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.multi-actions{display:flex;align-items:center;gap:.75rem}.question-input>div{display:flex;flex-direction:column;gap:.8rem}.mcq-choices{display:flex;flex-direction:column;gap:.5rem}.mcq-choice{display:flex;align-items:center;gap:.5rem}.mcq-choice input[type=text]{flex:1}.mcq-choice input[type=radio]{width:auto}.mcq-choice button{padding:.3em .5em;font-size:.75rem}.code-question-builder{display:flex;flex-direction:column;gap:1rem}.code-question-builder label{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.code-prompt-input{width:100%;min-height:140px;background:#141414;color:#e8e8e8;border:1px solid #333;padding:.6rem;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.5;resize:vertical}.code-prompt-preview{border:1px solid #2a2a2a;background:#0f0f0f;padding:.75rem;color:#e8e8e8;line-height:1.6}.code-libraries{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.code-library{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.code-libraries-loading,.code-libraries-error{font-size:.85rem;color:var(--text-muted)}.code-visualize-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.student-question{display:flex;justify-content:center;padding:2rem}.student-question-card{width:100%;max-width:980px;border:1px solid var(--border);padding:2rem}.question-prompt{margin-bottom:1.5rem}.question-heading{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem;justify-content:space-between}.question-heading-main{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap}.question-heading h2{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:1.05rem;text-transform:none;letter-spacing:.01em;color:var(--text)}.question-type-tag{display:inline-block;margin-left:.35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .45rem;border:1px solid var(--accent);background:var(--bg-card);color:var(--accent)}.question-time{font-size:.85rem;color:var(--text-dim);white-space:nowrap}.question-status-text{font-style:italic;font-size:.85rem;white-space:nowrap;color:var(--text-muted)}.question-status-text.waiting{color:#ef4444;animation:pulse-status 1.6s ease-in-out infinite}.question-status-text.waiting:after{content:"...";margin-left:.15rem}@keyframes pulse-status{0%,to{opacity:.55}50%{opacity:1}}.question-prompt p{font-size:1.1rem;margin-top:.5rem}.mcq-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.mcq-option{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);cursor:pointer;transition:border-color .15s}.mcq-option:hover{border-color:var(--accent)}.mcq-option input[type=radio]{width:auto}.answer-submitted{text-align:center;padding:1.25rem 1.5rem;border:1px solid var(--success);color:var(--success);background:#22c55e14;margin:0 0 1rem}.answer-submitted.correct{border-color:#22c55e;color:#22c55e;background:#22c55e1a}.answer-submitted.incorrect{border-color:#ef4444;color:#ef4444;background:#ef44441a}.answer-submitted.pending{border-color:#ffffff2e;color:var(--text-muted);background:#ffffff0a}.answer-submitted .hint{margin-top:.4rem;font-size:.8rem;color:var(--text-muted)}.code-editor{margin-bottom:1rem}.code-editor textarea{border-radius:0}.code-actions{margin:.5rem 0}.run-button{background:#2d2d2d;color:#51cf66;border:1px solid #51cf66;padding:.5rem 1rem;cursor:pointer;font-family:monospace}.run-button:hover:not(:disabled){background:#51cf66;color:#111}.run-button:disabled{opacity:.5;cursor:not-allowed}.code-output{margin-top:.5rem;border:1px solid var(--border)}.leaderboard{margin-top:2rem}.leaderboard h2{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.leaderboard-table th{font-size:.7rem;text-transform:uppercase;color:var(--text-muted)}.leaderboard-table tr.first-place{background:#e66d121a}.leaderboard-table tr.first-place .rank{color:var(--accent);font-weight:700}.leaderboard-table .rank{color:var(--text-muted)}.leaderboard-table .username{font-weight:500}.leaderboard-table .score{font-weight:700;color:var(--accent)}.session-page{width:100%}.session-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.session-view-toggle{display:inline-flex;border:1px solid var(--border)}.session-view-toggle button{padding:.4rem .75rem;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:.75rem;cursor:pointer}.session-view-toggle button:last-child{border-right:none}.session-view-toggle button.active{color:var(--accent);background:var(--bg-card)}.session-banner{background:var(--bg-card);border:1px solid var(--accent);color:var(--text);padding:.75rem 1rem;margin-bottom:1.5rem;font-size:.85rem;text-transform:lowercase}.back-link{color:var(--text-dim);font-size:.85rem}.back-link:hover{color:var(--accent)}.no-active-question{text-align:center;padding:3rem;color:var(--text-muted)}.student-session-header{text-align:center;padding:1rem;border:1px solid var(--border);margin-bottom:2rem;max-width:980px;margin-left:auto;margin-right:auto;background:var(--bg-card)}.student-session-title{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.student-session-title h2{margin:0;font-size:1.2rem}.student-session-meta{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:left}.student-session-meta div{border:1px solid var(--border);background:var(--bg);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem}.student-meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.student-meta-value{font-size:.95rem;color:var(--text);display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;line-height:1.25}.student-meta-equation{color:var(--text-dim)}.student-meta-strong{font-weight:600;color:var(--text)}.student-status-pill{display:inline-flex;padding:.2rem .6rem;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--text-dim);background:#ffffff0a}.student-session-panels{margin-top:1.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));text-align:left}.student-session-panel{border:1px solid var(--border);background:var(--bg);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.student-session-panel h3{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.student-session-stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.75rem 1rem}.student-session-stats div{display:flex;flex-direction:column;gap:.25rem}.student-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.student-stat-value{font-size:1rem;color:var(--text)}.student-session-users{display:flex;flex-wrap:wrap;gap:.5rem;max-height:140px;overflow:auto;padding-right:.25rem}.student-user-chip{background:#ffffff0f;border:1px solid var(--border);padding:.25rem .6rem;font-size:.75rem;text-transform:lowercase}.student-leaderboard{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.student-leaderboard li{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.student-leaderboard li.top{color:var(--accent);font-weight:600}.student-panel-empty{margin:0;color:var(--text-muted);font-size:.85rem}.student-panel-foot{margin:0;color:var(--text-dim);font-size:.75rem;text-transform:lowercase}.student-questions-stack{max-width:980px;margin-left:auto;margin-right:auto}.student-question-item{cursor:pointer}.question-modal-overlay{position:fixed;inset:0;background:#05080cd9;z-index:999;display:flex;align-items:stretch;justify-content:center;padding:1.5rem}.question-modal{width:100%;height:100%;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.question-modal-header{display:flex;justify-content:flex-end;padding:1rem 1.5rem .5rem}.question-modal-close{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.35rem .75rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.question-modal-body{flex:1;overflow:auto;padding:0 1.5rem 1.5rem}.question-modal .student-question{padding:1.5rem 0}.question-modal .student-question-card{max-width:100%}.question-modal .student-question-card textarea{max-width:100%;width:100%;box-sizing:border-box}.session-tabs{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid var(--border)}.session-tabs button{flex:1;padding:.75rem 1rem;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .15s}.session-tabs button:last-child{border-right:none}.session-tabs button:hover{background:#ffffff08;color:var(--text)}.session-tabs button.active{background:var(--bg-card);color:var(--accent);border-bottom:2px solid var(--accent)}.public-layout{min-height:100vh;display:flex;flex-direction:column}.public-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border);display:flex;justify-content:center}.public-header-inner{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center}.public-header .logo{font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(to right,#f9603a,#e36d12);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.public-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.auth-container{width:100%;max-width:320px}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.app-header-inner{display:flex;justify-content:space-between;align-items:center}.app-header .logo{font-family:Courier New,Courier,monospace;font-size:1.5rem;font-weight:700;color:#000;background:#fff;padding:.35rem 1.1rem;box-shadow:4px 4px #888;transition:all .1s;display:inline-block}.app-header .logo:hover{color:#000}.app-header .logo:active{transform:translate(4px,4px);box-shadow:0 0;background:linear-gradient(to right,#f9603a,#e36d12);color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-nav{display:flex;gap:1.5rem;align-items:center}.app-nav a{color:var(--text-dim);font-size:.85rem}.app-nav a:hover{color:var(--accent)}.app-nav button{padding:.35rem .8rem;line-height:1;align-self:center}.app-content{flex:1;padding:2rem;max-width:clamp(960px,92vw,1440px);width:100%;margin:0 auto;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}
