:root{--slate:#090715;--slate-light:#150f36;--chalk:#fff;--chalk-dim:#ccc;--amber:#00d2ff;--teal:#00d2ff;--coral:#8a2be2;--good:#0f8;--bad:#f36;--line:#8a2be240;--radius:12px;--primary:#6a11cb;--secondary:#8a2be2;--btn-gradient:linear-gradient(135deg, var(--primary), var(--secondary));--btn-gradient-hover:linear-gradient(135deg, #7a1bdb, #9a3cff)}*{box-sizing:border-box}body{min-height:100vh;color:var(--chalk);background:linear-gradient(135deg,#090715,#0f0c29);justify-content:center;align-items:center;margin:0;padding:24px;font-family:Inter,sans-serif;display:flex}.hidden{display:none!important}.modal-overlay{z-index:50;background:#090715c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#setup-modal{background-color:#0000;background-image:linear-gradient(135deg,#090715d1,#0f0c29d1),url(./classroom-bg-DeAmldSF.jpg);background-position:50% 25%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.chalk-panel{background:var(--slate-light);border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:16px;width:100%;max-width:420px;max-height:calc(100vh - 32px);padding:28px 26px;overflow-y:auto;box-shadow:0 20px 60px #00000073,0 0 40px #6a11cb2e}.game-title{letter-spacing:.2px;background:linear-gradient(90deg, var(--amber), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-family:Inter,sans-serif;font-size:2.4rem;font-weight:800}.subtitle{color:var(--chalk-dim);margin:0 0 20px;font-size:.95rem}.setup-step{margin-bottom:16px}.setup-step label:not(.checkbox-item){color:var(--chalk-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-size:.85rem;display:block}.setup-step input{border:1px solid var(--line);background:var(--slate);width:100%;color:var(--chalk);border-radius:10px;padding:11px 13px;font-family:JetBrains Mono,monospace;font-size:.98rem}.setup-step select{border:1px solid var(--line);background:var(--slate);width:100%;color:var(--chalk);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path d='M4 6l4 4 4-4' stroke='%23cccccc' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 14px center;background-repeat:no-repeat;border-radius:10px;padding:11px 13px;font-family:JetBrains Mono,monospace;font-size:.98rem}.setup-step select:focus,.setup-step input:focus{border-color:var(--amber);outline:none}.choice-row{gap:10px;display:flex}.choice-row-3 .choice-btn{padding:12px 6px;font-size:.82rem}.choice-row-4{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choice-row-4 .choice-btn{padding:12px 6px;font-size:.82rem}.choice-btn{border-radius:var(--radius);border:1px solid var(--line);color:var(--chalk);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:#8a2be21a;flex:1;padding:14px 10px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s,transform .15s}.choice-btn:hover{border-color:var(--amber);background:#00d2ff1a;transform:translateY(-2px)}.field-note{color:var(--chalk-dim);margin-top:6px;font-size:.78rem;font-style:italic}.code-input{text-transform:uppercase;text-align:center;letter-spacing:.3em;font-size:1.3rem!important}.room-code-display{letter-spacing:.25em;text-align:center;background:linear-gradient(90deg, var(--amber), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-color:var(--slate);border:1px solid var(--line);border-radius:10px;margin:14px 0 18px;padding:16px 8px;font-family:JetBrains Mono,monospace;font-size:3rem;font-weight:700}.checkbox-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.checkbox-item{color:var(--chalk);cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.checkbox-item input[type=checkbox]{width:17px;height:17px;accent-color:var(--amber);cursor:pointer;flex-shrink:0}.checkbox-item.all-ops{color:var(--amber);border-bottom:1px dashed var(--line);grid-column:1/-1;margin-bottom:2px;padding-bottom:8px;font-weight:700}.choice-btn.selected{border-color:var(--secondary);background:#8a2be247;box-shadow:0 0 0 1px #8a2be24d}.primary-btn{border-radius:var(--radius);background:var(--btn-gradient);color:#fff;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:none;width:100%;margin-top:6px;padding:14px;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 8px 25px #6a11cb59}.primary-btn:hover{background:var(--btn-gradient-hover);transform:translateY(-2px);box-shadow:0 10px 30px #6a11cb80}.primary-btn:active{transform:scale(.98)}.secondary-btn{border-radius:var(--radius);border:1px solid var(--line);width:100%;color:var(--chalk);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:#8a2be21a;margin-top:10px;padding:12px;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s}.secondary-btn:hover{border-color:var(--amber);background:#00d2ff1a}.setup-error{color:var(--bad);min-height:1.2em;margin:10px 0 0;font-size:.85rem}.text-link-btn{color:var(--amber);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin:0 0 20px;padding:0;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;text-decoration:underline;display:block}.text-link-btn:hover{color:var(--secondary)}.setup-links-row{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 22px;display:grid}.nav-chip{border:1px solid var(--line);color:var(--chalk-dim);letter-spacing:.01em;cursor:pointer;background:#8a2be21a;border-radius:999px;justify-content:center;align-items:center;min-width:0;padding:9px 12px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:border-color .15s,background .15s,transform .15s,color .15s;display:inline-flex}.nav-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-chip-icon{font-size:.92rem;line-height:1}.nav-chip:hover{border-color:var(--amber);color:var(--chalk);background:#00d2ff1f;transform:translateY(-1px)}.nav-chip:active{transform:translateY(0)}.google-divider{color:var(--chalk-dim);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;margin:14px 0 12px;font-size:.72rem;font-weight:600;display:flex}.google-divider:before,.google-divider:after{content:"";background:var(--line);flex:1;height:1px}.google-btn{border:1px solid var(--line);width:100%;color:var(--chalk);letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#8a2be224,#00d2ff14);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.google-btn:hover{border-color:var(--amber);background:linear-gradient(135deg,#8a2be23d,#00d2ff2e);transform:translateY(-2px);box-shadow:0 8px 22px #00d2ff2e}.google-btn:active{transform:translateY(0)}.google-btn-icon-wrap{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.google-btn-icon-wrap svg{width:14px;height:14px;display:block}.primary-btn.with-google-icon{justify-content:center;align-items:center;gap:10px;display:flex}.player-profile-chip{border:1px solid var(--line);background:var(--slate);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.player-profile-chip .profile-pic{object-fit:cover;background:var(--line);border-radius:50%;flex-shrink:0;width:32px;height:32px}.player-profile-chip .profile-name{color:var(--chalk);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;overflow:hidden}.player-profile-chip .profile-not-you-btn{flex-shrink:0;margin:0;font-size:.78rem;display:inline}#my-stats-profile-chip{margin-bottom:18px}.stats-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-family:Inter,sans-serif}.stats-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim);padding:0 10px 8px;font-size:.72rem;font-weight:600}.stats-table th:not(:first-child),.stats-table td:not(:first-child){text-align:right}.stats-table td{border-top:1px solid var(--line);color:var(--chalk);padding:11px 10px;font-size:.9rem}.stats-table td:first-child{color:var(--chalk-dim);font-weight:600}.stats-table tbody td{font-family:JetBrains Mono,monospace}.stats-table tbody tr:first-child td:first-child{font-family:Inter,sans-serif}.stats-total-row td{color:var(--amber);background:#00d2ff12;font-weight:700}.stats-total-row td:first-child{color:var(--amber)}.my-class-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.my-class-heading{color:var(--chalk);margin:0 0 12px;font-size:.95rem}.class-code-display{border:1px solid var(--line);background:#00d2ff12;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 16px;display:flex}.class-code-label{text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim);font-size:.72rem}.class-code-value{letter-spacing:.08em;color:var(--amber);font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700}.class-code-input{text-transform:uppercase;letter-spacing:.1em}#class-student-view .field-note{margin-bottom:10px}#class-create-row{margin-bottom:18px}.class-nav{border-bottom:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--secondary) transparent;flex-wrap:nowrap;gap:2px;margin-bottom:0;display:flex;overflow-x:auto}.class-nav::-webkit-scrollbar{height:6px}.class-nav::-webkit-scrollbar-track{background:0 0}.class-nav::-webkit-scrollbar-thumb{background:var(--btn-gradient);border-radius:999px}.class-nav::-webkit-scrollbar-thumb:hover{background:var(--btn-gradient-hover)}.class-nav-tab{color:var(--chalk-dim);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;flex-shrink:0;padding:10px 16px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:color .15s,border-color .15s}.class-nav-tab:hover{color:var(--chalk)}.class-nav-tab.active{color:var(--amber);border-bottom-color:var(--amber)}.class-card{border:1px solid var(--line);background:var(--slate);border-top:none;border-radius:0 0 10px 10px;margin-bottom:14px;padding:14px 16px}.class-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.class-card-name{color:var(--chalk);font-family:Inter,sans-serif;font-size:.95rem;font-weight:700}.class-card-name-wrap{align-items:center;gap:8px;display:flex}.class-rename-btn{color:var(--chalk-dim);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-decoration:underline}.class-rename-btn:hover{color:var(--amber)}.class-delete-btn:hover{color:var(--bad)}.class-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.class-icon-btn svg{width:14px;height:14px}.class-icon-btn:hover{background:#ffffff0f}.class-delete-warning{color:var(--chalk-dim);flex-basis:100%;margin:0 0 2px;font-size:.85rem}.class-delete-confirm{background:var(--bad);color:#fff}.class-delete-confirm:hover{background:#e0264f}.class-roster-remove-cell{text-align:right;white-space:nowrap}.class-roster-remove-btn{color:var(--chalk-dim);vertical-align:middle;margin-left:8px}.class-roster-remove-btn:hover{color:var(--bad)}.class-roster-remove-btn:first-child{margin-left:0}.class-roster-remove-cell .class-rename-cancel{vertical-align:middle;margin:0 0 0 10px;font-size:.78rem;display:inline}.class-rename-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.class-rename-row.hidden{display:none}.class-rename-input{border:1px solid var(--line);background:var(--slate);min-width:0;color:var(--chalk);border-radius:10px;flex:200px;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:.9rem}.class-rename-input:focus{border-color:var(--amber);outline:none}.class-rename-row .class-rename-save,.class-rename-row .class-delete-confirm{width:auto;margin:0;padding:9px 18px}.class-rename-row .class-rename-cancel{margin:0}.class-rename-row .class-rename-error{flex-basis:100%;margin:0}.class-card-code{text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim);align-items:center;gap:6px;font-size:.72rem;display:flex}.class-card-code .class-code-value{text-transform:none;letter-spacing:.08em;font-size:1rem}.class-card .stats-table{table-layout:fixed;margin-bottom:0}.class-card .stats-table th:nth-child(2),.class-card .stats-table td:nth-child(2){width:52px}.class-card .stats-table th:nth-child(3),.class-card .stats-table td:nth-child(3){width:68px}.class-card .stats-table th:nth-child(4),.class-card .stats-table td:nth-child(4){width:46px}.class-card .field-note{margin:8px 0 0}.class-card .stats-table td:first-child{font-size:.8rem}.watch-list-body{flex-direction:column;gap:10px;display:flex}.watch-empty{color:var(--chalk-dim);text-align:center;padding:20px 0;font-size:.9rem}.watch-row{border:1px solid var(--line);border-radius:var(--radius);background:#8a2be214;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.watch-row-info{flex-direction:column;gap:3px;min-width:0;display:flex}.watch-room-code{letter-spacing:.1em;color:var(--amber);font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:700}.watch-room-names{color:var(--chalk);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.watch-room-progress{color:var(--chalk-dim);font-size:.8rem}.watch-row-btn{flex-shrink:0;width:auto;margin:0;padding:9px 16px}.lobby-list{max-height:40vh;padding-right:2px;overflow-y:auto}.spectate-bar{border-radius:var(--radius);border:1px solid var(--line);color:var(--chalk-dim);background:#00d2ff14;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 14px;font-size:.85rem;display:flex}.spectate-bar strong{color:var(--amber);letter-spacing:.08em;font-family:JetBrains Mono,monospace}.spectate-bar-actions{gap:16px;display:flex}.spectate-bar-actions .text-link-btn{margin:0;font-size:.82rem;display:inline}.presence-banner{border-radius:var(--radius);color:var(--amber);text-align:center;background:#ffb43c1f;border:1px solid #ffb43c66;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:9px 14px;font-size:.85rem;font-weight:600;display:flex}.rejoin-banner{border-radius:var(--radius);background:#00d2ff1a;border:1px solid #00d2ff66;margin:0 0 20px;padding:14px 16px}#rejoin-banner-text{color:var(--chalk);margin:0 0 10px;font-size:.88rem;line-height:1.4}.rejoin-banner-actions{gap:10px;display:flex}.rejoin-banner-actions .primary-btn,.rejoin-banner-actions .secondary-btn{flex:1;width:auto;margin:0;padding:10px;font-size:.88rem}.incoming-challenge{border-radius:var(--radius);background:#ffb43c1f;border:1px solid #ffb43c66;margin:14px 0;padding:14px 16px}.incoming-challenge-text{color:var(--chalk);text-align:center;margin:0 0 10px;font-size:.92rem;font-weight:600;line-height:1.4}.incoming-challenge-actions{gap:10px;display:flex}.incoming-challenge-actions .primary-btn,.incoming-challenge-actions .secondary-btn{flex:1;width:auto;margin:0;padding:10px;font-size:.88rem}.instructions-panel{max-width:560px}.feedback-fab{z-index:60;background:var(--btn-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;line-height:1;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 22px #6a11cb80}.feedback-fab:hover{transform:scale(1.08);box-shadow:0 10px 28px #6a11cb99}.feedback-fab.hidden{display:none}.feedback-panel{max-width:420px}.feedback-intro{color:var(--chalk-dim);margin:0 0 14px;font-size:.88rem;line-height:1.5}.feedback-textarea{border:1px solid var(--line);background:var(--slate);width:100%;min-height:110px;color:var(--chalk);resize:vertical;border-radius:10px;padding:12px;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.5}.feedback-textarea:focus{border-color:var(--amber);outline:none}.feedback-thanks{color:var(--chalk);text-align:center;margin:0;padding:20px 0;font-size:1rem}.admin-feedback-entry{border:1px solid var(--line);background:var(--slate);border-radius:10px;margin-bottom:10px;padding:12px 14px}.admin-feedback-meta{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.admin-feedback-name{color:var(--chalk);font-family:Inter,sans-serif;font-size:.85rem;font-weight:700}.admin-feedback-date{color:var(--chalk-dim);white-space:nowrap;font-size:.72rem}.admin-feedback-message{color:var(--chalk-dim);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.88rem;line-height:1.5}.admin-feedback-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.admin-feedback-actions .class-rename-btn{margin:0}.admin-feedback-pagination{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.admin-feedback-pagination.hidden{display:none}.admin-feedback-pagination .text-link-btn{margin:0}.admin-feedback-pagination .text-link-btn:disabled{color:var(--chalk-dim);opacity:.4;cursor:default;text-decoration:none}#admin-feedback-page-label{color:var(--chalk-dim);font-size:.8rem}.instructions-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-heading{background:linear-gradient(90deg, var(--amber), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Inter,sans-serif;font-size:1.6rem;font-weight:800}.close-btn{color:var(--chalk);cursor:pointer;background:#8a2be21f;border:none;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-size:1.3rem;line-height:1;transition:background .15s,color .15s}.close-btn:hover{color:var(--amber);background:#00d2ff2e}.instructions-body{color:var(--chalk);font-size:.92rem;line-height:1.55}.instructions-body h3{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 6px;font-size:.95rem}.instructions-body h3:first-child{margin-top:0}.instructions-body p{color:var(--chalk-dim);margin:0 0 10px}.instructions-body ul{color:var(--chalk-dim);margin:0 0 10px;padding-left:20px}.instructions-body li{margin-bottom:6px}.instructions-body strong{color:var(--chalk)}.review-summary{color:var(--chalk-dim);margin:0 0 14px;font-size:.85rem}.review-list{flex-direction:column;gap:12px;display:flex}.miss-card{background:var(--slate);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.miss-problem{border-bottom:1px dashed var(--line);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;display:flex}.miss-problem .fraction-block{font-size:1.15rem}.miss-problem .operator-symbol{font-size:1.3rem}.miss-step-line{margin-bottom:6px;font-size:.82rem}.miss-step-line:last-child{margin-bottom:0}.miss-label{color:var(--amber);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:.7rem;display:block}.miss-values{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.miss-wrong{color:var(--bad)}.miss-correct{color:var(--good)}.miss-player-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--secondary);background:#8a2be22e;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.68rem}.credits{border-top:1px dashed var(--line);align-items:center;gap:14px;margin-top:18px;padding-top:16px;display:flex}.credits-photo{object-fit:cover;object-position:center 25%;border:2px solid var(--line);border-radius:50%;flex-shrink:0;width:1in;height:1in}.credits-text p{margin:0 0 3px}.credits-name{color:var(--chalk);font-size:.88rem}.credits-title{color:var(--chalk-dim);font-size:.8rem}.credits-disclaimer{color:var(--chalk-dim);font-size:.76rem;font-style:italic;margin-top:4px!important}.credits-copyright{color:var(--chalk-dim);font-size:.72rem;margin-top:8px!important}.game-wrap{width:100%;max-width:760px;position:relative}.streak-popup{z-index:50;pointer-events:none;color:#fff;letter-spacing:.01em;white-space:nowrap;opacity:0;border-radius:999px;padding:10px 22px;font-family:Inter,sans-serif;font-size:1.05rem;font-weight:800;position:absolute;top:6px;left:50%}.streak-popup.hidden{display:none}.streak-popup.streak-tier-1{background:linear-gradient(135deg,#ff8c00f2,#ff3c3cf2);box-shadow:0 8px 24px #ff5a0073}.streak-popup.streak-tier-2{background:linear-gradient(135deg,#00d2fff2,#5a6efff2);box-shadow:0 8px 24px #00b4ff73}.streak-popup.streak-tier-3{background:linear-gradient(135deg,#ffd700f2,#ff8c00f2);box-shadow:0 8px 24px #ffbe0080}.streak-popup.streak-tier-4{background:linear-gradient(135deg,#ba55fff2,#ff3cb4f2);box-shadow:0 8px 24px #c850ff80}.streak-popup.streak-pop-in{animation:1.5s forwards streakPop}@keyframes streakPop{0%{opacity:0;transform:translate(-50%,-14px)scale(.8)}12%{opacity:1;transform:translate(-50%)scale(1.1)}22%{transform:translate(-50%)scale(1)}78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(.92)}}@media (prefers-reduced-motion:reduce){.streak-popup.streak-pop-in{animation:1.5s forwards streakPopReduced}}@keyframes streakPopReduced{0%{opacity:0;transform:translate(-50%)}12%{opacity:1;transform:translate(-50%)}78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.profile-badges{flex-wrap:wrap;gap:4px;display:flex}.my-stats-badges-section{border:1px solid var(--line);background:var(--slate);border-radius:10px;margin:12px 0 16px;padding:12px 14px}.my-stats-badges-heading{color:var(--chalk);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:700}.my-stats-badges-grid{gap:8px}.my-stats-badges-grid .badge-icon{width:34px;height:34px;font-size:1.2rem}.profile-badges:empty{display:none}.my-stats-badge-progress-heading{border-top:1px solid var(--line);color:var(--chalk-dim);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 8px;padding-top:10px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700}.badge-progress-row{margin:0 0 10px}.badge-progress-row:last-child{margin-bottom:0}.badge-progress-label{color:var(--chalk);align-items:center;gap:6px;margin-bottom:4px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:flex}.badge-progress-emoji{font-size:.95rem}.badge-progress-track{background:#ffffff14;border-radius:3px;width:100%;height:6px;overflow:hidden}.badge-progress-fill{background:linear-gradient(90deg,#ffd7008c,#ffd700e6);border-radius:3px;height:100%;transition:width .3s}.badge-progress-caption{color:var(--chalk-dim);margin:4px 0 0;font-family:Inter,sans-serif;font-size:.7rem}#my-stats-effects-note{margin:0 0 10px;font-size:.72rem}#my-stats-effects-grid{flex-wrap:wrap;gap:10px;display:flex}.tile-effect-icon{cursor:pointer;background:#ffd7001f;border:1px solid #ffd70059;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-family:inherit;font-size:1.1rem;line-height:1;transition:background .15s,transform .1s,border-color .15s;display:inline-flex;position:relative}.tile-effect-icon:hover{background:#ffd70038}.tile-effect-icon:active{transform:scale(.92)}.tile-effect-icon.equipped{border-color:var(--amber);box-shadow:0 0 0 2px #00d2ff59}.tile-effect-icon.locked{opacity:.45;filter:grayscale();border-color:var(--line);background:#ffffff0d}.tile-effect-icon.locked:after{content:"🔒";background:var(--slate-light);border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.55rem;line-height:1;display:flex;position:absolute;bottom:-4px;right:-4px}.badge-icon{cursor:pointer;background:#ffd7001f;border:1px solid #ffd70059;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-family:inherit;font-size:.95rem;line-height:1;transition:background .15s,transform .1s;display:inline-flex}.badge-icon:hover{background:#ffd70038}.badge-icon:active{transform:scale(.92)}.badge-tooltip{z-index:80;background:var(--slate);border:1px solid var(--line);max-width:220px;color:var(--chalk);pointer-events:none;opacity:0;border-radius:10px;padding:8px 12px;font-family:Inter,sans-serif;font-size:.78rem;line-height:1.45;transition:opacity .15s;position:fixed;box-shadow:0 8px 22px #00000073}.badge-tooltip.visible{opacity:1}.badge-tooltip.hidden{display:none}.badge-popup{z-index:50;pointer-events:none;color:#3a2a00;letter-spacing:.01em;white-space:nowrap;opacity:0;background:linear-gradient(135deg,#ffe066,#ffb700);border-radius:999px;padding:10px 22px;font-family:Inter,sans-serif;font-size:1.05rem;font-weight:800;position:absolute;top:48px;left:50%;box-shadow:0 8px 24px #ffb70080}.badge-popup.hidden{display:none}.badge-popup.badge-pop-in{animation:1.5s forwards streakPop}@media (prefers-reduced-motion:reduce){.badge-popup.badge-pop-in{animation:1.5s forwards streakPopReduced}}.score-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.player-chip{border-radius:var(--radius);background:var(--slate-light);border:2px solid #0000;flex-direction:column;align-items:center;min-width:110px;padding:10px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.player-chip.active-turn{border-color:var(--player-color,var(--amber));box-shadow:0 0 0 3px #00d2ff26}.player-one{--player-color:var(--teal)}.player-two{--player-color:var(--coral)}.chip-name{text-transform:uppercase;letter-spacing:.05em;color:var(--chalk-dim);font-size:.78rem}.chip-score{color:var(--chalk);font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:700}.chip-timer{color:var(--chalk-dim);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.chip-timer.time-low{color:var(--bad);animation:1s ease-in-out infinite pulse-glow}.round-info{flex-direction:column;align-items:center;gap:4px;display:flex}.pair-counter{color:var(--chalk-dim);font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700}.turn-flag{color:var(--amber);min-height:1.2em;font-size:.82rem;font-weight:600}.board-area{background:var(--slate-light);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:16px;padding:24px 20px;display:flex;box-shadow:0 8px 32px #6a11cb26}.board-main{flex:1;min-width:0}.pool-sidebar{flex-direction:column;flex:0 0 96px;align-items:center;gap:8px;display:flex;position:sticky;top:16px}.problem-strip{flex-direction:column;justify-content:center;align-items:center;gap:18px;margin-bottom:26px;display:flex}.given-row{border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;padding-bottom:6px;display:flex}.cross-row-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.row-caption{text-transform:uppercase;letter-spacing:.05em;color:var(--amber);font-family:Inter,sans-serif;font-size:.8rem;font-weight:700}.cross-row{align-items:center;gap:14px;display:flex}.row-equals{color:var(--chalk-dim);font-size:1.5rem}.cross-fraction{flex-direction:column;align-items:center;display:inline-flex}.row-numerator,.row-denominator{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.row-line{background:var(--chalk);border-radius:2px;align-self:stretch;height:2px;margin:6px 0}.inline-op{color:var(--chalk-dim);padding:0 2px;font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700}.fraction-product{align-items:center;gap:14px;display:flex}.fraction-block{flex-direction:column;align-items:center;font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:700;line-height:1.15;display:flex}.fraction-block .num,.fraction-block .den{padding:2px 10px}.fraction-block .vinculum{background:var(--chalk);border-radius:2px;align-self:stretch;width:100%;height:2px;margin:2px 0}.operator-symbol{color:var(--amber);padding:0 4px;font-size:1.8rem;font-weight:700}.equals-symbol{color:var(--chalk-dim);padding:0 4px;font-size:1.8rem}.result-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:4px;display:flex}.grid-cell{flex-direction:column;align-items:center;gap:4px;display:flex}.grid-cell .cell-label{text-transform:uppercase;letter-spacing:.05em;color:var(--chalk-dim);text-align:center;max-width:90px;font-size:.65rem}.cell-slot{border:2px dashed var(--line);width:56px;height:56px;color:var(--chalk-dim);background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700;transition:all .2s;display:flex}.cell-slot.pending{opacity:.45}.cell-slot.active{border-style:solid;border-color:var(--amber);color:var(--amber);animation:1.4s ease-in-out infinite pulse-glow;box-shadow:0 0 0 4px #00d2ff26}.cell-slot.filled{border-style:solid;border-color:var(--good);color:var(--chalk);background:#00ff881f}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 4px #00d2ff1f}50%{box-shadow:0 0 0 8px #00d2ff0d}}.cell-slot.drop-correct{animation:.35s drop-in}.cell-slot.drop-wrong{animation:.35s shake}@keyframes drop-in{0%{opacity:.3;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pool-label{text-align:center;color:var(--chalk-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.66rem;line-height:1.3}.pool-tray{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:wrap;place-content:flex-start center;gap:8px;max-height:60vh;padding:2px;display:flex;overflow-y:auto}.pool-tray::-webkit-scrollbar{display:none}.tile-btn{background:var(--btn-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;width:42px;height:42px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 4px 14px #6a11cb59}.tile-btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)scale(1.05);box-shadow:0 6px 18px #6a11cb8c}.tile-btn:active:not(:disabled){transform:scale(.92)}.tile-btn:disabled{opacity:.3;filter:grayscale(60%);cursor:not-allowed;box-shadow:none}.thrown-tile{z-index:999;background:var(--btn-gradient);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-weight:700;display:flex;position:fixed;box-shadow:0 4px 14px #6a11cb73}.thrown-tile-wrong{background:linear-gradient(135deg, var(--bad), #ff6b8a);box-shadow:0 4px 14px #ff336673}.confetti-piece{z-index:999;pointer-events:none;border-radius:2px;width:8px;height:8px;position:fixed}.sparkle-dot{z-index:999;color:#fff59d;text-shadow:0 0 8px #fff59df2;pointer-events:none;font-size:1.1rem;line-height:1;position:fixed}.bankai-flame{z-index:999;pointer-events:none;filter:grayscale()brightness(.25)drop-shadow(0 0 8px #ff1744e6);font-size:1.3rem;line-height:1;position:fixed}.bankai-screen-flash{z-index:999;pointer-events:none;background:radial-gradient(circle,#ff174499 0%,#14000080 55%,#0000 100%);position:fixed;inset:0}.bankai-powerup-card{z-index:1000;pointer-events:none;background:radial-gradient(circle,#2800008c 0%,#000000c7 75%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bankai-powerup-text{letter-spacing:.1em;text-transform:uppercase;color:#fff5f5;text-shadow:0 0 14px #ff1744f2,0 0 34px #ff1744bf,0 0 64px #ff174480;white-space:nowrap;font-family:Inter,sans-serif;font-size:clamp(2rem,9vw,4.2rem);font-weight:800}.gear5-star{z-index:999;pointer-events:none;filter:drop-shadow(0 0 8px #ffd54ad9);font-size:1.3rem;line-height:1;position:fixed}.gear5-powerup-card{z-index:1000;pointer-events:none;background:radial-gradient(circle,#ffd54a59 0%,#141000b8 75%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gear5-powerup-text{letter-spacing:.1em;text-transform:uppercase;color:#fffdf5;text-shadow:0 0 14px #ffd54af2,0 0 34px #ffd54abf,0 0 64px #fff3c48c;white-space:nowrap;font-family:Inter,sans-serif;font-size:clamp(2rem,9vw,4.2rem);font-weight:800}.ultra-instinct-afterimage{z-index:998;color:#3a3a3a;pointer-events:none;filter:blur(.5px);background:linear-gradient(135deg,#f4f4f4,#fff);border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-weight:700;display:flex;position:fixed;box-shadow:0 0 10px #fff6}.ultra-instinct-particle{z-index:5;pointer-events:none;background:radial-gradient(circle,#fffffff2,#dcdcdc26);border-radius:50%;position:fixed;box-shadow:0 0 6px #fff9}.ultra-instinct-dust{z-index:5;pointer-events:none;background:#ffffffd9;border-radius:50%;position:fixed}.ultra-instinct-reflex-streak{z-index:6;pointer-events:none;background:linear-gradient(90deg,#0000,#fffffff2 35% 65%,#0000);border-radius:999px;height:2px;position:fixed;box-shadow:0 0 10px #ffffffbf,0 0 20px #ffffff59}.kage-bunshin-poof{z-index:900;pointer-events:none;font-size:1rem;line-height:1;position:fixed}.effect-theme-bounce-drop .problem-strip,.effect-theme-bounce-drop .pool-tray{border-radius:16px;padding:14px;animation:1.4s ease-in-out infinite board-bounce-pulse;box-shadow:0 0 0 2px #ff9f1c66}@keyframes board-bounce-pulse{0%,to{transform:translateY(0);box-shadow:0 0 0 2px #ff9f1c66}50%{transform:translateY(-4px);box-shadow:0 0 0 2px #ff9f1ca6,0 10px 18px #ff9f1c40}}.effect-theme-spin-toss .problem-strip,.effect-theme-spin-toss .pool-tray{isolation:isolate;border-radius:16px;padding:14px;position:relative}.effect-theme-spin-toss .problem-strip{overflow:hidden}.effect-theme-spin-toss .pool-tray{overflow-x:hidden}.effect-theme-spin-toss .problem-strip:before,.effect-theme-spin-toss .pool-tray:before{content:"";z-index:0;pointer-events:none;background:conic-gradient(#0000 0%,#00d2ff1f 10%,#0000 22% 70%,#8a2be21f 82%,#0000 100%);animation:10s linear infinite board-spin;position:absolute;inset:-35%}.effect-theme-spin-toss .problem-strip>*,.effect-theme-spin-toss .pool-tray>*{z-index:1;position:relative}@keyframes board-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.effect-theme-warp-zoom .problem-strip,.effect-theme-warp-zoom .pool-tray{border-radius:16px;padding:14px;animation:1.2s ease-in-out infinite board-warp-glow}@keyframes board-warp-glow{0%,to{box-shadow:0 0 0 2px #00e5ff59,0 0 10px #00e5ff33}50%{box-shadow:0 0 0 2px #00e5ffd9,0 0 30px #00e5ff99}}.effect-theme-confetti-burst .problem-strip,.effect-theme-confetti-burst .pool-tray{background-image:linear-gradient(var(--slate-light), var(--slate-light)), linear-gradient(90deg, #00d2ff, #8a2be2, #0f8, #f36, gold, #00d2ff);background-size:100% 100%,300% 100%;background-origin:border-box;background-clip:padding-box,border-box;border:2px solid #0000;border-radius:16px;padding:14px;animation:3s linear infinite board-confetti-shimmer}@keyframes board-confetti-shimmer{0%{background-position:0 0,0 0}to{background-position:0 0,300% 0}}.effect-theme-sparkle-trail .problem-strip,.effect-theme-sparkle-trail .pool-tray{border-radius:16px;padding:14px;animation:2s ease-in-out infinite board-sparkle-glow}@keyframes board-sparkle-glow{0%,to{box-shadow:0 0 0 2px #fff59d59,0 0 10px #fff59d33}50%{box-shadow:0 0 0 2px #fff59dbf,0 0 28px #fff59d8c}}.effect-theme-bankai .problem-strip,.effect-theme-bankai .pool-tray{background-color:#14000047;border-radius:16px;padding:14px;animation:1.6s ease-in-out infinite board-bankai-pulse}@keyframes board-bankai-pulse{0%,to{box-shadow:0 0 0 2px #ff174466,0 0 14px #ff174438}50%{box-shadow:0 0 0 2px #ff1744e6,0 0 38px #ff1744a6}}.effect-theme-gear-5 .problem-strip,.effect-theme-gear-5 .pool-tray{background-color:#ffd54a1a;border-radius:16px;padding:14px;animation:2.2s ease-in-out infinite board-gear5-wobble}@keyframes board-gear5-wobble{0%,to{transform:rotate(0);box-shadow:0 0 0 2px #ffd54a73,0 0 14px #ffd54a40}25%{transform:rotate(-.6deg);box-shadow:0 0 0 2px #ffd54aa6,0 0 22px #ffd54a66}50%{transform:rotate(.4deg);box-shadow:0 0 0 2px #fff3c4d9,0 0 32px #ffd54a8c}75%{transform:rotate(-.3deg);box-shadow:0 0 0 2px #ffd54aa6,0 0 22px #ffd54a66}}.effect-theme-ultra-instinct .problem-strip,.effect-theme-ultra-instinct .pool-tray{background-color:#ffffff09;border-radius:16px;padding:14px;animation:4.5s ease-in-out infinite board-ultra-instinct-pulse}@keyframes board-ultra-instinct-pulse{0%,to{box-shadow:0 0 0 1px #ebebeb40,0 0 10px #ebebeb1f}50%{box-shadow:0 0 0 1px #ffffff73,0 0 16px #ffffff38}}.effect-theme-ultra-instinct{z-index:0;position:relative}.effect-theme-ultra-instinct:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffffff29 0%,#ffffff0f 45%,#fff0 72%);border-radius:28px;animation:5s ease-in-out infinite ultra-instinct-aura-breathe;position:absolute;inset:-48px}@keyframes ultra-instinct-aura-breathe{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}.effect-theme-kage-bunshin .problem-strip,.effect-theme-kage-bunshin .pool-tray{background-color:#8b6f4714;border-radius:16px;padding:14px;animation:2.4s ease-in-out infinite board-kage-bunshin-pulse}@keyframes board-kage-bunshin-pulse{0%,to{box-shadow:0 0 0 2px #8b6f4766,0 0 12px #8b6f4738}50%{box-shadow:0 0 0 2px #4caf508c,0 0 20px #4caf5052}}.feedback-line{text-align:center;min-height:1.4em;margin-top:16px;font-size:.92rem;font-weight:600}.feedback-line.good{color:var(--good)}.feedback-line.bad{color:var(--bad)}#winner-heading{background:linear-gradient(90deg, var(--amber), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-family:Inter,sans-serif;font-size:2rem;font-weight:800}#winner-detail{color:var(--chalk-dim);white-space:pre-line;margin-bottom:22px;line-height:1.5}.rematch-status{color:var(--amber);min-height:1.2em;margin:0 0 10px;font-size:.85rem;font-weight:600}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=520px){body{padding:10px}.game-title{font-size:1.9rem}.subtitle{margin-bottom:16px;font-size:.85rem}.chalk-panel{border-radius:14px;padding:20px 18px}.setup-step{margin-bottom:12px}.setup-step label:not(.checkbox-item){margin-bottom:5px;font-size:.75rem}.checkbox-item{font-size:.84rem}.choice-btn{padding:11px 8px;font-size:.84rem}.primary-btn{padding:12px;font-size:.95rem}.nav-chip{padding:8px;font-size:.72rem}.setup-links-row{gap:6px}.board-area{gap:12px;padding:16px 12px}.fraction-block{font-size:1.1rem}.cell-slot{width:38px;height:38px;font-size:.92rem}.player-chip{min-width:80px;padding:8px 12px}.cross-row{gap:5px}.row-numerator,.row-denominator{gap:4px}.inline-op{padding:0;font-size:.85rem}.feedback-fab{width:42px;height:42px;font-size:1.15rem;bottom:14px;right:14px}}@media (width<=430px){body{padding:8px}.board-area{gap:6px;padding:12px 8px}.pool-sidebar{flex:0 0 50px;gap:8px}.tile-btn{width:44px;height:44px;font-size:.95rem}.cell-slot{width:34px;height:34px;font-size:.85rem}.cross-row{gap:4px}.row-numerator,.row-denominator{gap:3px}.inline-op{padding:0;font-size:.75rem}.row-equals{font-size:1.15rem}}@media (height<=700px){.chalk-panel{padding:18px}.game-title{margin-bottom:2px;font-size:1.8rem}.subtitle{margin-bottom:12px}.setup-step{margin-bottom:10px}}button:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion:reduce){.cell-slot.active,.cell-slot.drop-correct,.cell-slot.drop-wrong{animation:none}}#worksheet-print-root{display:none}@media print{body *{visibility:hidden}#worksheet-print-root,#worksheet-print-root *{visibility:visible}#worksheet-print-root{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:100%;padding:24px;font-family:Inter,sans-serif;display:block;position:absolute;top:0;left:0}@page{size:portrait;margin:1.2cm}.ws-header{text-align:center;margin-bottom:24px}.ws-header h1{color:#111;margin:0 0 14px;font-size:1.25rem}.ws-header-fields{color:#111;justify-content:space-between;padding:0 4px;font-size:.95rem;display:flex}.ws-problems{column-count:2;column-gap:28px}.ws-problem{break-inside:avoid;page-break-inside:avoid;border-bottom:1px dashed #999;margin-bottom:20px;padding-bottom:14px}.ws-problem-number{color:#111;margin-bottom:8px;font-size:1rem;font-weight:700}#worksheet-print-root .given-row{border-bottom-color:#999;justify-content:flex-start}#worksheet-print-root .cross-row-wrap{align-items:flex-start}#worksheet-print-root .cross-row{justify-content:flex-start}#worksheet-print-root .row-caption{color:#555}#worksheet-print-root .row-equals{color:#111;font-size:1.2rem}#worksheet-print-root .operator-symbol{color:#111;font-size:1.4rem}#worksheet-print-root .inline-op{color:#111}#worksheet-print-root .fraction-block{font-size:1.3rem}#worksheet-print-root .row-line,#worksheet-print-root .fraction-block .vinculum{background:0 0;border-top:2px solid #111;height:0}#worksheet-print-root .fraction-block .num,#worksheet-print-root .fraction-block .den{color:#111}#worksheet-print-root .cell-slot{color:#fff;background:#fff;border:1.5px solid #111;width:40px;height:40px}.ws-answer-key{page-break-before:always;break-before:page}.ws-answer-key h2{color:#111;font-size:1.1rem}.ws-answer-item{color:#222;margin-bottom:5px;font-size:.82rem}}
