:root{--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8faff;--text:#0f1724;--muted:#5f6b7a;--line:#d7dee8;--line-strong:#c4cdd9;--blue:#2f7de7;--blue-soft:#eaf2ff;--orange:#f3a93b;--orange-soft:#fff4df;--green:#1e8f63;--green-soft:#def5ea;--red:#d14f4f;--red-soft:#fde8e8;--radius:14px}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{min-height:100%}body{color:var(--text);background:radial-gradient(1200px 480px at 100% -80px, #2f7de71a, transparent), radial-gradient(980px 420px at -120px -60px, #f3a93b1a, transparent), var(--bg);margin:0;font-family:Manrope,Avenir Next,Segoe UI,sans-serif;overflow-y:scroll}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2f7de729}input[type=checkbox]{box-sizing:border-box;flex:0 0 21px;width:21px;min-width:21px;height:21px;min-height:21px;margin:0;padding:0}@supports (appearance:none){input[type=checkbox]{--active:#275efe;--active-inner:#fff;--focus:2px #275efe4d;--border:#bbc1e1;--border-hover:#275efe;--background:#fff;--disabled:#f6f8ff;--disabled-inner:#e1e6f9;appearance:none;vertical-align:top;cursor:pointer;border:1px solid var(--bc,var(--border));background:var(--b,var(--background));outline:none;transition:background .3s,border-color .3s,box-shadow .2s;display:inline-block;position:relative}input[type=checkbox]:after{content:"";border:2px solid var(--active-inner);width:5px;height:9px;opacity:var(--o,0);transform:translate(-50%, -56%) rotate(var(--r,20deg));transform-origin:50%;transition:transform var(--d-t,.3s) var(--d-t-e,ease), opacity var(--d-o,.2s);border-top:0;border-left:0;display:block;position:absolute;top:calc(50% - 1.5px);left:50%}input[type=checkbox]:checked{--b:var(--active);--bc:var(--active);--o:1;--r:43deg;--d-o:.3s;--d-t:.6s;--d-t-e:cubic-bezier(.2, .85, .32, 1.2)}input[type=checkbox]:disabled{--b:var(--disabled);cursor:not-allowed;opacity:.9}input[type=checkbox]:disabled:checked{--b:var(--disabled-inner);--bc:var(--border)}input[type=checkbox]:hover:not(:checked):not(:disabled){--bc:var(--border-hover)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 var(--focus)}input[type=checkbox]:not(.switch){border-radius:7px}}#app{max-width:1180px;margin:0 auto;padding:20px}.platform-terms-link{color:#7a818d;cursor:pointer;z-index:150;text-align:left;background:0 0;border:none;padding:0;font-size:12px;line-height:1.25;text-decoration:underline;position:fixed;bottom:10px;left:12px}.platform-terms-link:hover{color:#5e6672}.platform-terms-modal-backdrop{z-index:210;background:#0f172457;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.platform-terms-modal{gap:12px;width:min(460px,100%);padding:18px 42px 18px 18px;display:grid;position:relative}.platform-terms-modal-close{color:#45566f;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px}.platform-terms-modal-close:hover{background:#152d4a1a}.platform-terms-download-link{color:var(--blue);width:fit-content;font-weight:700;text-decoration:underline}.view{display:none}.view.active{display:block}.centered-view{justify-content:center;align-items:center;min-height:calc(100vh - 120px);display:none}.centered-view.active{display:flex}.teacher-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:100;display:none;position:sticky;top:0}.teacher-header.active{display:block}.teacher-header-inner{justify-content:flex-start;align-items:center;gap:12px;max-width:1180px;min-height:58px;margin:0 auto;padding:12px 20px;display:flex}.teacher-brand{color:var(--blue);letter-spacing:.04em;white-space:nowrap;font-size:18px;font-weight:800}.teacher-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:3px;min-width:0;margin-right:auto;display:flex;overflow-x:auto}.teacher-tabs::-webkit-scrollbar{display:none}.teacher-tab{color:var(--muted);cursor:pointer;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;flex:none;padding:9px 14px;font-weight:600}.teacher-tab:hover{background:#f1f5fc}.teacher-tab.active{background:var(--blue-soft);color:var(--blue);border-color:#cfe0ff}.teacher-tools{white-space:nowrap;align-items:center;gap:10px;display:flex}.teacher-tools .btn{justify-content:center;align-items:center;height:38px;display:inline-flex}.live-picker{color:var(--muted);align-items:center;gap:8px;display:none}.live-picker.active{display:inline-flex}.live-picker label{white-space:nowrap}.live-picker select{min-width:240px;height:38px;padding:0 12px}.live-picker .btn{white-space:nowrap;text-overflow:ellipsis;max-width:260px;overflow:hidden}.report-filter{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.report-filter label{white-space:nowrap}.report-filter select{min-width:240px;height:38px;padding:0 12px}.btn{cursor:pointer;background:var(--blue);color:#fff;border:1px solid #0000;border-radius:10px;padding:9px 14px;font-weight:600}.btn:hover{filter:brightness(.97)}.btn.secondary{background:#2b3340}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{color:var(--text);border-color:var(--line-strong);background:#fff}.btn.ghost.author-library-btn{background:var(--red);border-color:var(--red);color:#fff}.author-library-actions{display:inline-flex;position:relative}.author-library-tray{border:1px solid var(--line);z-index:30;background:#fff;border-radius:10px;min-width:320px;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 24px #0f172429}.author-library-tray.open{display:block}.author-library-tray button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px}.author-library-tray button:hover:not(:disabled){background:#f5f8ff}.author-library-tray button:disabled{cursor:not-allowed;opacity:.65}.btn.small{padding:7px 12px;font-size:14px}.btn.tiny{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.72;cursor:not-allowed;filter:none}.btn.btn-launched{color:#fff;background:#97a3b3;border-color:#97a3b3}.btn.btn-launched:hover{filter:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 26px #0f172414}.landing-shell{grid-template-columns:1.2fr .9fr;gap:18px;width:min(980px,100%);display:grid}.landing-hero{border:1px solid var(--line);background:linear-gradient(160deg,#fff 0%,#f7fbff 54%,#fff8ec 100%);border-radius:18px;padding:28px}.landing-hero h1{margin-top:8px;font-size:clamp(30px,4vw,44px);line-height:1.05}.landing-hero p{color:var(--muted);max-width:44ch;margin-top:12px}.landing-hero-link{color:var(--blue);margin-top:16px;font-weight:700;display:inline-block}.landing-hero-link:hover{text-decoration:underline}.role-card{flex-direction:column;gap:10px;display:flex}.role-card p{color:var(--muted)}.role-choice-menu{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:8px;padding:10px;display:grid}.role-choice-menu .btn{width:100%}.auth-card{flex-direction:column;gap:10px;width:min(420px,100%);display:flex}.consent-check{color:var(--muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;display:flex}.consent-check input[type=checkbox]{flex-shrink:0;margin-top:2px}.consent-check a{color:var(--blue);font-weight:600;text-decoration:underline}.auth-password-warning{color:#7a4d10;background:#fff6e7;border:1px solid #f0d4a5;border-radius:10px;margin-top:-2px;padding:9px 10px;font-size:12px;line-height:1.4}.auth-register-suggestion{color:#8f1e1e;background:#fff3f3;border:1px solid #f2bfbf;border-radius:10px;margin-top:-2px;margin-bottom:2px;padding:10px 11px;font-size:12px;line-height:1.45}.auth-register-switch{border-color:#2b3340;transition:background-color .26s,border-color .26s,color .26s,box-shadow .26s}.auth-register-switch.auth-register-switch-alert{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 8px 18px #be1e2d38}.campaign-info-banner{color:#61421a;background:#fff8eb;border:1px solid #d8c59f;border-radius:10px;margin-top:-2px;padding:9px 10px;font-size:12px;line-height:1.4}.register-code-row{gap:8px;display:flex}.register-code-row input{flex:1}.register-code-row .btn{white-space:nowrap}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:42px}.password-visibility-btn{color:#4f6785;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-visibility-btn:hover{background:#edf4ff}.password-visibility-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:16px;height:16px}.password-visibility-btn svg circle{fill:currentColor;stroke:none}.field-error{color:var(--red);margin-top:-4px;font-size:12px}.field-note{color:var(--muted);margin-top:-4px;font-size:12px}.student-entry-name-hint{color:#2b4f85;background:#f3f8ff;border:1px solid #cbdaf6;border-radius:10px;margin-top:-2px;padding:8px 10px;font-size:12px;line-height:1.35}.student-entry-room-readonly{background:#f4f8ff;border-color:#bfd4f5}.student-card{flex-direction:column;gap:10px;width:min(760px,100%);display:flex}.label-pill{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;border:1px solid #cad8ef;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.teacher-view{padding-bottom:20px;display:none}.teacher-view.active{display:block}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.page-header h1{text-transform:uppercase;font-size:clamp(24px,2.6vw,32px)}.page-actions{align-items:center;gap:8px;display:flex}.account-layout{gap:12px;min-width:0;display:grid}.account-card{flex-direction:column;gap:12px;min-width:0;display:flex}.account-card h2{font-size:22px}.account-grid{gap:8px;display:grid}.account-grid-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,1fr) minmax(180px,1fr);gap:10px;padding:8px 0;display:grid}.account-grid-row:last-child{border-bottom:none}.account-grid-row span{color:var(--muted)}.account-actions-row{flex-wrap:wrap;gap:8px;display:flex}.account-password-form,.account-delete-form{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.account-inline-form{flex-wrap:wrap;gap:8px;display:flex}.account-inline-form input,.account-inline-form select{flex:220px}.account-inline-form .account-inline-form__months{flex:0 0 110px}.account-inline-form .account-inline-form__type{flex:0 0 170px}.account-password-form h3,.account-delete-form h3{font-size:16px}.account-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.account-metric-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;gap:6px;padding:10px;display:grid}.account-metric-label{font-weight:700}.account-metric-values{color:var(--muted);gap:4px;font-size:14px;display:grid}.account-admin-table{min-width:1380px}.account-admin-table-wrap{width:100%;max-width:100%}.account-admin-table col.account-admin-name-col{width:190px}.account-admin-table col.account-admin-email-col{width:380px}.account-admin-table col.account-admin-date-col{width:170px}.account-admin-table col.account-admin-status-col{width:120px}.account-admin-table col.account-admin-count-col{width:96px}.account-admin-table col.account-admin-trainer-count-col{width:150px}.account-admin-table col.account-admin-action-col{width:170px}.account-admin-table .account-admin-name-cell,.account-admin-table .account-admin-email-cell{text-align:left}.account-admin-table .account-admin-name-cell{text-overflow:ellipsis;overflow:hidden}.account-admin-table .account-admin-email-cell{overflow-wrap:anywhere}.account-admin-table th.account-admin-name-cell .btn{text-align:left}.account-admin-table td:last-child .btn{white-space:normal;max-width:100%}.payment-layout{grid-template-columns:minmax(0,1.45fr) minmax(310px,1fr);align-items:start;gap:12px;display:grid}.payment-card{gap:14px;display:grid}.payment-subtitle{color:var(--muted);margin-top:-4px}.payment-plan-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.payment-plan-card{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:12px;gap:6px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.payment-plan-card:hover{border-color:#aac5ef;transform:translateY(-1px)}.payment-plan-card.active{background:#f4f8ff;border-color:#99baee;box-shadow:0 8px 18px #2d68ba1f}.payment-plan-title{font-weight:700}.payment-plan-price{font-size:24px;font-weight:800;line-height:1.1}.payment-plan-monthly{color:var(--muted);font-size:13px}.payment-plan-badge{color:#2a5e2f;background:#deefe1;border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.payment-plan-badge.neutral{color:#446287;background:#e6f0ff}.payment-autorenew-check{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.payment-autorenew-check input{margin:0}.payment-method-grid{gap:8px;display:grid}.payment-method-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:8px;padding:10px;display:flex}.payment-method-card.active{background:#f4f8ff;border-color:#9abcf0}.payment-method-content{gap:2px;display:grid}.payment-method-content small{color:var(--muted);font-size:12px}.payment-promocode-block{gap:8px;display:grid}.payment-promocode-row{flex-wrap:wrap;gap:8px;display:flex}.payment-promocode-row input{flex:240px}.payment-submit-btn{width:fit-content}.payment-consent-check{margin-top:2px}.payment-widget-shell{border:1px solid var(--line);background:#f8fbff;border-radius:12px;padding:10px}.payment-widget-host{background:#fff;border-radius:10px;min-height:620px;position:relative;overflow:hidden}.payment-widget-host>*{width:100%!important;min-height:inherit!important}.payment-widget-host iframe{border:0;display:block;width:100%!important;min-height:inherit!important;height:620px!important}.payment-summary-card{align-self:start;gap:12px;display:grid;position:sticky;top:78px}.payment-summary-grid{gap:0;display:grid}.payment-summary-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.payment-summary-row span{color:var(--muted)}.payment-summary-row strong{text-align:right}.payment-summary-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:8px;padding:10px 0;display:flex}.payment-summary-total span{color:var(--muted)}.payment-summary-total strong{font-size:30px;line-height:1.1}.payment-summary-note{color:var(--muted);gap:4px;font-size:13px;line-height:1.35;display:grid}.payment-status-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 180px);display:flex}.payment-status-card{gap:12px;width:min(620px,100%);display:grid}.payment-status-card h1{text-transform:uppercase;font-size:clamp(24px,2.8vw,34px)}.payment-status-card p{color:var(--muted)}.payment-status-meta{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:6px;padding:10px;display:grid}.payment-status-actions{flex-wrap:wrap;gap:8px;display:flex}.payment-status-card--success{background:linear-gradient(#f8fffb 0%,#fff 56%);border-color:#b9e6d0}.payment-status-card--fail{background:linear-gradient(#fff9f9 0%,#fff 56%);border-color:#efcdcd}.library-selection-counter{color:var(--muted);font-size:13px;font-weight:700}.library-has-bottom-actions{padding-bottom:108px}.library-bottom-actions-wrap{z-index:140;pointer-events:none;width:min(1140px,100vw - 24px);position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.library-bottom-actions{pointer-events:auto;border:1px solid var(--line);background:#fffffff7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;box-shadow:0 12px 26px #0a101b2e}.library-bottom-actions-meta{color:var(--muted);margin-right:auto;font-size:13px;font-weight:700}.live-name-toggle{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.live-name-toggle input{margin:0}.live-controls{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:8px;display:flex}.live-sort-control{align-items:center;gap:8px;display:inline-flex}.live-sort-select{min-width:220px}.context-line{color:var(--muted);margin:2px 0 12px;font-size:14px}.library-context-line{grid-template-columns:minmax(180px, var(--library-col-1,1fr)) var(--library-col-2,70px) var(--library-col-3,110px) var(--library-col-4,100px) var(--library-col-5,100px) var(--library-col-6,92px);align-items:center;gap:0;padding:0 14px;display:grid}.library-context-breadcrumb{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.library-context-trainer-label{white-space:nowrap;justify-content:center;justify-self:stretch;align-items:center;display:flex}.list-shell{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:visible}.list-shell>.list-head:first-child,.list-shell>.list-row:first-child,.list-shell>.empty-block:first-child{border-top-left-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px)}.list-shell>.list-row:last-child,.list-shell>.empty-block:last-child{border-bottom-left-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}.list-head,.list-row{align-items:center;gap:0;padding:12px 14px;display:grid}.list-head{color:#3f4b5b;border-bottom:1px solid var(--line);background:#f2f6fd;font-size:13px;font-weight:700}.list-row{border-bottom:1px solid #edf1f7;font-size:14px}.list-row:last-child{border-bottom:none}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{background:#f8fbff}.library-grid-row{grid-template-columns:minmax(180px, var(--library-col-1,1fr)) var(--library-col-2,70px) var(--library-col-3,110px) var(--library-col-4,100px) var(--library-col-5,100px) var(--library-col-6,92px)}.list-head.library-grid-row{background:0 0;border-bottom:none;padding-top:8px;padding-bottom:8px}.library-head-cell{text-align:center;justify-content:center;align-items:center;width:100%;min-width:0;display:inline-flex;position:relative}.library-head-cell-resizable{padding-right:0}.library-col-resize-handle{cursor:col-resize;touch-action:none;z-index:1;background:0 0;border:none;width:28px;padding:0;position:absolute;top:-16px;bottom:-16px;right:-14px}.library-col-resize-handle:before{content:"";background:#c7d4e5;width:1px;transition:background .16s;position:absolute;top:10px;bottom:10px;left:50%;transform:translate(-50%)}.library-col-resize-handle:hover:before,.library-col-resize-handle:focus-visible:before{background:#6a86a7}.library-col-resize-handle:focus-visible{outline-offset:1px;outline:2px solid #93abc7}body.library-column-resizing,body.library-column-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.library-grid-row>:nth-child(2),.library-grid-row>:nth-child(3),.library-grid-row>:nth-child(4),.library-grid-row>:nth-child(5),.library-grid-row>:nth-child(6){box-sizing:border-box;padding-inline:5px}.library-grid-row>:nth-child(2),.library-grid-row>:nth-child(3),.library-grid-row>:nth-child(4),.library-grid-row>:nth-child(5){text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;justify-self:stretch;align-items:center;display:flex;overflow:hidden}.rooms-grid-row{grid-template-columns:minmax(0,1fr) minmax(110px,.72fr) minmax(0,1fr) minmax(150px,.9fr) minmax(280px,1.85fr)}.reports-grid-row{grid-template-columns:minmax(132px,.75fr) minmax(116px,.62fr) minmax(260px,2.7fr) minmax(76px,.42fr) minmax(76px,.42fr)}.reports-grid-row>:nth-child(4),.reports-grid-row>:nth-child(5){text-align:center;white-space:nowrap;justify-content:center;justify-self:stretch;align-items:center;display:flex}.align-right{text-align:right}.row-main{align-items:center;gap:8px;min-width:0;display:flex}.row-main.selection-main{gap:8px}.row-leading-control{cursor:pointer;justify-content:center;align-items:center;width:22px;min-width:22px;line-height:1;display:inline-flex}.row-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-badge{color:var(--orange)}.test-badge{color:var(--blue)}.list-row.back-row{background:#f8fafc;font-weight:600}.action-row .row-actions{white-space:normal;text-overflow:clip;z-index:2;opacity:0;pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;min-height:32px;transition:opacity .16s;display:flex;position:relative;overflow:visible}.action-row.menu-open{z-index:48;position:relative}.action-row.menu-open .row-actions{z-index:64}.library-file-row .row-actions{grid-column:5;justify-self:stretch}.game-file-row .row-actions{opacity:1;pointer-events:auto;grid-column:4;justify-self:stretch;gap:14px;min-width:184px;padding-inline:14px 6px}.action-row:hover .row-actions,.action-row.menu-open .row-actions{opacity:1;pointer-events:auto}.row-inline-launch-btn{white-space:nowrap}.game-file-row>:nth-child(2),.game-file-row>:nth-child(3){text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:8px;overflow:hidden}.game-file-row .row-inline-launch-btn{border-color:var(--line-strong);background:0 0}.game-file-row .row-inline-launch-btn:hover:not(:disabled),.game-file-row .row-inline-launch-btn:focus-visible{background:0 0;border-color:#a8b7cb}.game-file-row .row-actions .row-dots{opacity:0;pointer-events:none;transition:opacity .16s}.game-file-row:hover .row-actions .row-dots,.game-file-row.menu-open .row-actions .row-dots,.game-file-row .row-actions:focus-within .row-dots{opacity:1;pointer-events:auto}@media (hover:none){.action-row .row-actions,.game-file-row .row-actions .row-dots{opacity:1;pointer-events:auto}}.test-row.selected{background:#eaf2ff}.library-select-check{justify-content:center;align-items:center;width:21px;height:21px;display:inline-flex}.library-select-check input{margin:0}.trainer-library-flag-cell{justify-content:center;align-items:center;width:100%;display:inline-flex}.trainer-library-flag-empty{width:100%;color:var(--muted);text-align:center;display:block}.trainer-library-flag-check{justify-content:center;align-items:center;display:inline-flex}.trainer-library-flag-check input{margin:0}.trainer-library-flag-check input:disabled{cursor:not-allowed;opacity:.75}.row-dots{border:1px solid var(--line-strong);color:#4d5a6a;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding-bottom:3px;font-size:18px;line-height:1;display:inline-flex}.row-menu{border:1px solid var(--line);z-index:200;background:#fff;border-radius:10px;min-width:170px;display:none;position:absolute;top:36px;right:0;overflow:hidden;box-shadow:0 12px 24px #0f172429}.row-menu.open{display:block}.row-menu.open-up{top:auto;bottom:36px}.row-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:9px 11px}.row-menu button:hover{background:#f5f8ff}.empty-block{color:var(--muted);padding:20px}.question-list{flex-direction:column;gap:10px;display:flex}.question-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.question-card.selected{border-color:#7ea4d2;box-shadow:inset 0 0 0 1px #7ea4d23d}.question-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.question-actions{gap:6px;display:flex}.question-actions .btn{min-width:0}.editor-question-select{align-items:center;gap:8px;font-weight:700;display:inline-flex}.editor-question-select input{margin:0}.question-text{white-space:pre-wrap;margin-top:8px;line-height:1.4}.question-image{object-fit:contain;border:1px solid var(--line);background:#f8fbff;border-radius:12px;width:min(100%,560px);max-height:360px;margin-top:10px;display:block}.student-question-image{align-self:center;width:min(100%,760px);max-height:min(52vh,420px);margin:0 auto 12px}.trainer-mistake-image{width:min(100%,500px);max-height:280px;margin-top:4px}.question-detail-image{width:min(100%,780px);max-height:380px;margin:2px 0 4px}.editor-question-image-field{gap:6px;display:grid}.editor-question-image-field label{color:var(--muted);font-size:12px;font-weight:600}.editor-image-input-native{display:none}.editor-image-dropzone{cursor:pointer;background:radial-gradient(circle at 0 0,#88bfff29,#0000 42%),linear-gradient(#f8fbff 0%,#f2f7ff 100%);border:1px dashed #8fb3d7;border-radius:14px;gap:8px;padding:14px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.editor-image-dropzone:hover,.editor-image-dropzone:focus-visible,.editor-card.image-drop-active .editor-image-dropzone,.editor-image-dropzone.active{border-color:#4d82be;box-shadow:0 0 0 4px #4d82be24}.editor-image-dropzone.busy{cursor:progress}.editor-image-dropzone-title{color:#1c3656;font-weight:700}.editor-image-dropzone-note{color:var(--muted);font-size:13px;line-height:1.45}.editor-image-dropzone-actions{flex-wrap:wrap;gap:8px;display:flex}.option-list{color:var(--muted);flex-direction:column;gap:5px;margin-top:8px;display:flex}.option-line.correct{color:var(--green);font-weight:700}.option-line{align-items:flex-start;gap:6px;display:flex}.editor-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;flex-direction:column;gap:10px;margin-top:12px;padding:14px;display:flex}.editor-card.image-drop-active{border-color:#4d82be;box-shadow:0 0 0 5px #4d82be1f}.editor-format-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.editor-format-btn{min-width:34px;padding-inline:10px}.editor-format-btn-u{min-width:40px}.editor-format-btn-label-underline{text-underline-offset:2px;text-decoration:underline}.editor-rich-preview{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.editor-rich-preview-label{color:var(--muted);font-size:12px;font-weight:700}.editor-rich-preview-body{min-height:20px;line-height:1.4}.editor-rich-options{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.editor-rich-option.correct{color:var(--green);font-weight:700}.inline-row{grid-template-columns:180px 1fr;align-items:center;gap:10px;display:grid}.options-list{flex-direction:column;gap:8px;display:flex}.option-edit-row{grid-template-columns:auto auto 1fr auto;align-items:flex-start;gap:8px;display:grid}.editor-rich-input{border:1px solid var(--line);width:100%;color:var(--text);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;background:#fff;border-radius:10px;padding:10px 12px;line-height:1.45}.editor-rich-input:focus{border-color:#7ea4d2;outline:none;box-shadow:0 0 0 3px #3e67a029}.editor-rich-input:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.editor-question-input{min-height:74px}.editor-option-input,.editor-input-answer{width:100%;min-height:44px}.option-index{color:var(--muted);font-size:13px}.editor-actions{justify-content:flex-end;gap:8px;display:flex}.editor-settings{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(320px,1fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.editor-setting{flex-direction:column;gap:6px;display:flex}.editor-setting label{color:var(--muted);font-size:13px;font-weight:600}.editor-setting-title{grid-area:1/1;min-width:220px}.editor-setting-common-prefix{grid-area:2/1;min-width:240px}.editor-setting-hint{color:var(--muted);font-size:12px;line-height:1.35}.editor-toggle{color:#334155;flex-direction:row;align-items:center;gap:8px;font-weight:600;display:inline-flex}.editor-toggle input[type=checkbox]{margin:0}.editor-settings-actions{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;align-self:end;gap:8px;display:inline-flex}.editor-settings-actions .btn{justify-content:center;align-items:center;height:42px;display:inline-flex}.editor-common-question-card{margin-bottom:12px}.editor-question-selection-bar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex}.editor-question-selection-meta{color:var(--muted);font-size:13px;font-weight:700}.editor-question-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.editor-add-question-btn{width:100%;margin-top:10px}.editor-tail-settings{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:6px;margin-top:10px;padding:10px;display:flex}.editor-tail-settings label{color:var(--muted);font-size:13px;font-weight:600}.room-create-inline{align-items:center;gap:8px;display:flex}.room-create-inline input{width:220px}.status-chip{border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-chip.active{background:var(--green-soft);color:var(--green)}.status-chip.paused{background:var(--orange-soft);color:#9f6a00}.status-chip.completed{color:#4c5867;background:#eef1f5}.room-actions{white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.room-actions .btn{min-width:0}.room-shell{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.room-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-header h2{text-transform:uppercase;font-size:24px}.room-topline{grid-template-columns:.42fr .58fr;align-items:center;gap:10px;display:grid}.room-name-title{min-width:0;padding:0;position:relative}.room-name-title h2{text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:24px;overflow:hidden}.room-inline-back-btn{color:#7a838f;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:700;line-height:1.2;position:absolute;top:-14px;left:0}.room-inline-back-btn:hover{color:#616a76}.room-inline-back-btn:focus-visible{border-radius:6px;outline:none;box-shadow:0 0 0 2px #2f7de738}.room-active-test-indicator{text-align:right;background:#fff;border:none;border-radius:0;flex-direction:column;gap:4px;min-width:0;padding:0;display:flex}.room-active-test-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;text-align:right;width:100%;font-size:12px;font-weight:700;display:block}.room-active-test-title{color:#1f2f45;white-space:nowrap;text-overflow:ellipsis;text-align:right;width:100%;font-size:15px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.room-active-test-title.empty{color:#64748b;font-weight:600}.room-active-test-date{color:var(--muted);text-align:right;width:100%;font-size:12px;font-weight:700;display:block}.room-test-select.active-choice{background:#edf9f1;border-color:#9fd6b8}.room-test-option-active{color:#196f4b;background:#def5ea}.room-toolbar{grid-template-columns:1fr auto;gap:10px;display:grid}.room-toolbar .launch-controls{grid-template-columns:1fr auto;gap:8px;display:grid}.room-toggle-group{justify-content:flex-end;gap:8px;display:flex}.room-action-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.room-action-btn{width:100%}.room-generated-launch{background:#fbfdff;border:1px dashed #c6d8ef;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;display:flex}.room-generated-launch-prefix,.room-generated-launch-suffix{color:#1f2937;font-weight:700}.room-generated-launch-main{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.room-generated-launch-main input[type=number]{width:90px}.room-generated-launch-btn{white-space:nowrap}.room-generated-launch-note{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.room-settings{border:1px solid var(--line);background:#f8fbff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex}.room-settings.room-settings-in-modal{margin-top:4px}.room-settings.room-settings-readonly{margin-top:2px}.room-results-controls{margin-top:8px}.room-results-start{color:var(--muted);margin-right:4px;font-size:13px;font-weight:700}.room-settings label{color:#334155;align-items:center;gap:8px;font-weight:600;display:inline-flex}.room-settings input[type=checkbox]{margin:0}.room-settings input[type=number]{width:110px}.room-random-inline{align-items:center;gap:8px;display:inline-flex}.room-random-count-wrap{align-items:center;gap:8px;display:none}.room-random-count-wrap.active{display:inline-flex}.room-helper-text{color:var(--muted);font-size:13px}.room-create-hint{max-width:720px;margin:-4px 0 0;line-height:1.45}.room-test-preview{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.room-test-preview h3{margin-bottom:8px}.table-wrap{border:1px solid var(--line);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c4d2e6 #edf3fb;background:#fff;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.table-wrap::-webkit-scrollbar{width:12px;height:12px}.table-wrap::-webkit-scrollbar-track{background:#edf3fb;border-radius:999px;margin:0 8px 8px}.table-wrap::-webkit-scrollbar-thumb{background:#c4d2e6;border:2px solid #edf3fb;border-radius:999px}.room-results-table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;max-height:clamp(280px,68vh,720px);overflow-y:auto}.room-results-table-wrap table.results-table thead th{z-index:3;background:#f1f6ff;position:sticky;top:0;box-shadow:inset 0 -1px #d9e5f2}.room-results-table-wrap table.results-table thead .results-col-student{z-index:5}.room-invite-section{margin-top:2px}.room-invite-card{background:#fff;border:none;border-radius:12px;grid-template-columns:170px 1fr;align-items:start;gap:14px;padding:12px 12px 12px 0;display:grid}.room-invite-qr-wrap{justify-content:flex-start;align-items:center;width:100%;display:flex}.room-invite-qr{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:160px;padding:8px}.room-invite-qr-placeholder{border:1px solid var(--line);width:100%;min-height:152px;color:var(--muted);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:14px;font-size:13px;display:flex}.room-invite-link-wrap{flex-direction:column;gap:8px;display:flex}.room-invite-link-wrap label{color:#334155;font-size:13px;font-weight:700}.room-invite-link-actions{flex-wrap:wrap;gap:8px;display:flex}.room-invite-note{color:var(--muted);font-size:12px;line-height:1.4}table{border-collapse:collapse;width:100%;min-width:620px}table.results-table{table-layout:fixed}table.results-table .results-col-student{text-align:left;z-index:2;background:#fff;width:240px;position:sticky;left:0;box-shadow:10px 0 12px -12px #0f172459}table.results-table .results-col-score{width:96px}table.results-table.results-table-scroll .results-col-question{width:52px}.results-answer-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.results-student-name{text-align:left}.results-student-summary{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.results-student-summary.anonymous{justify-content:flex-start}.results-student-label{flex:auto;align-items:center;gap:6px;min-width:0;display:inline-flex}.results-student-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.results-student-check{background:var(--green-soft);width:16px;height:16px;color:var(--green);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.results-student-score{color:var(--muted);white-space:nowrap;flex:none;font-size:13px;font-weight:700}.results-question-head-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:24px;padding:2px 5px;font-weight:700;line-height:1}.results-question-head-btn:hover{color:#214f86;background:#dce9fb}.results-question-head-btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}th,td{text-align:center;border-bottom:1px solid #ebf0f7;padding:10px}th{color:#3f4f61;background:#f1f6ff;font-size:13px}table.results-table thead .results-col-student{z-index:4;background:#f1f6ff}.results-summary-row td{color:#2a4764;background:#f4f8ff;font-weight:700}.results-summary-row .results-summary-name{color:#1f3956}.results-summary-row .results-summary-value{text-align:center}tbody tr:last-child td{border-bottom:none}.cell-correct{background:var(--green-soft);color:var(--green);font-weight:700}.cell-corrected{background:var(--orange-soft);color:#9f6a00;font-weight:700}.cell-incorrect{background:var(--red-soft);color:var(--red);font-weight:700}.report-detail{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:14px;padding:12px;display:none}.report-detail.active{display:block}.report-row-expanded{background:#f7fbff}.report-inline-detail{background:#f8fbff;border-top:1px solid #edf1f7;padding:12px 14px}.report-meta{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.student-question-title{font-size:18px;font-weight:700}.student-question-text{white-space:pre-line;font-size:20px;line-height:1.35}.rich-text-content{word-break:break-word}.student-options{flex-direction:column;gap:8px;display:flex}.student-option{text-align:left;border:1px solid var(--line-strong);color:var(--text);background:#fff;border-radius:10px}.student-option:hover{background:#f7fbff}.student-exit-floating{z-index:115;opacity:.72;position:fixed;bottom:14px;right:14px}.student-exit-floating:hover{opacity:1}.feedback{border-radius:10px;padding:10px 12px;font-weight:600}.feedback.ok{background:var(--green-soft);color:var(--green)}.feedback.bad{background:var(--red-soft);color:var(--red)}.student-mode-label{color:var(--muted);font-size:12px;font-weight:600;line-height:1.2}.student-summary-line{color:var(--muted);font-weight:600}.student-summary-percent{color:#214f86;font-size:clamp(34px,7vw,52px);font-weight:800;line-height:1}.student-summary-percent-note{color:#214f86;margin-top:-4px;font-size:12px;font-weight:700;line-height:1}.student-finish-actions{flex-wrap:wrap;gap:8px;display:flex}#toast-root{z-index:120;flex-direction:column;gap:8px;max-width:min(360px,90vw);display:flex;position:fixed;bottom:14px;right:14px}.toast{color:#fff;opacity:0;background:#1f2937;border-radius:10px;padding:10px 12px;transition:opacity .18s,transform .18s;transform:translateY(10px);box-shadow:0 10px 20px #0a0f163d}.toast.show{opacity:1;transform:translateY(0)}.toast.info{background:#2b3a50}.toast.success{background:#1f7a56}.toast.error{background:#af3f3f}.folder-modal-backdrop{z-index:128;background:#0c142275;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.folder-modal-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(360px,100%);padding:14px;display:flex;position:relative;box-shadow:0 14px 28px #0a0f1842}.library-modal-close{color:#45566f;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px}.library-modal-close:hover{background:#152d4a1a}.folder-modal-card label{color:var(--muted);font-size:14px}.folder-modal-actions{justify-content:flex-end;gap:8px;display:flex}.bulk-modal-backdrop{z-index:132;background:#0a101b80;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.bulk-modal-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(560px,100%);max-height:min(88vh,900px);padding:14px;display:flex;overflow:auto;box-shadow:0 14px 30px #0a101b4d}.bulk-modal-card.bulk-modal-card-wide{width:min(760px,100%)}.bulk-modal-note{color:var(--muted);font-size:14px}.author-library-mode-modal{width:min(520px,100%);padding-right:44px;position:relative}.author-library-scope-modal{grid-template-rows:auto auto auto auto minmax(0,1fr) auto;width:min(980px,100%);max-height:min(90vh,940px);padding-right:44px;display:grid;position:relative;overflow:hidden}.author-library-scope-modal.author-library-publish-modal{width:min(1180px,100%)}.author-library-scope-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.author-library-scope-head h3{margin:0}.author-library-scope-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.author-library-scope-selection{color:#395376;font-size:13px;font-weight:700}.author-library-scope-toolbar-actions{align-items:center;gap:8px;display:inline-flex}.author-library-scope-context{margin:0;padding:0 14px}.author-library-scope-list{min-height:0;overflow:auto}.author-library-scope-row.folder-row.selected,.author-library-scope-row.test-row.selected{background:#eaf2ff}.author-library-publish-modal .list-row,.author-library-publish-row .row-main{align-items:center}.author-library-publish-row .row-leading-control{padding-top:0}.author-library-publish-row .row-main strong{white-space:nowrap;text-overflow:ellipsis;line-height:1.35;overflow:hidden}.author-library-publish-row.published{background:#f7fbff}.author-library-publish-row.partial{background:#fffaf1}.bulk-folder-list{flex-direction:column;gap:8px;display:flex}.bulk-folder-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.bulk-folder-item:hover{background:#f7fbff}.bulk-folder-item.active{background:#eaf2ff;border-color:#7ea4d2}.bulk-folder-item input{margin:0}.bulk-folder-item-text{flex:1}.bulk-folder-current{color:var(--muted);font-size:12px}.merge-folders-modal{width:min(640px,100%)}.move-student-list{gap:10px}.move-student-option{border-color:#cfd8e6;align-items:center;gap:12px;min-height:44px;padding:10px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s}.move-student-option:hover{background:#f3f8ff;border-color:#a8bfdf}.move-student-option.active{background:#eaf2ff;border-color:#4f86d8;box-shadow:inset 0 0 0 1px #4f86d829}.move-student-radio{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--blue);cursor:pointer;flex:0 0 18px;margin:0;padding:0}.move-student-option-title{color:#1f2d42;text-align:left;flex:1;font-weight:600;line-height:1.35}.bulk-modal-field{flex-direction:column;gap:6px;display:flex}.bulk-modal-field span{color:var(--muted);font-size:14px}.bulk-modal-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.merge-order-list{flex-direction:column;gap:8px;display:flex}.merge-order-row{border:1px solid var(--line);background:#f9fbff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.merge-order-main{flex-direction:column;gap:4px;display:flex}.merge-order-main span{color:var(--muted);font-size:13px}.merge-order-actions{gap:6px;display:flex}.question-detail-backdrop{z-index:136;background:#09101c85;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.question-detail-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:min(980px,100vw - 36px);height:auto;max-height:calc(100vh - 36px);margin:0;padding:16px;display:flex;position:fixed;top:18px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 16px 30px #0a0f1852}.question-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.question-detail-text{color:#162337;white-space:pre-line;font-size:17px;line-height:1.4}.question-detail-toggle{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.question-detail-toggle input{margin:0}.question-detail-correct-toggle{color:#2d425f;align-self:flex-start}.question-detail-correct-area{border:1px solid var(--line);background:#fbfcff;border-radius:12px;padding:10px 12px}.question-detail-options{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.question-detail-option{color:#2d425f}.question-detail-option.correct{color:var(--green);background:var(--green-soft);border-radius:8px;padding:6px 8px;font-weight:700}.question-detail-input-placeholder{background:#f3f6fb}.question-detail-input-correct{background:var(--green-soft);color:var(--green);border:1px solid #b9e4cf;border-radius:10px;padding:10px 12px;font-weight:700}.question-detail-students-wrap{flex-direction:column;gap:8px;display:flex}.question-detail-students-table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;max-height:clamp(220px,48vh,400px);overflow:auto}.question-detail-students-table{min-width:620px}.question-detail-students-table thead th{z-index:1;background:#f1f6ff;position:sticky;top:0;box-shadow:inset 0 -1px #d9e5f2}.question-detail-students-table th:first-child,.question-detail-students-table td:first-child,.question-detail-students-table th:nth-child(2),.question-detail-students-table td:nth-child(2){text-align:left}.question-detail-students-table th:first-child,.question-detail-students-table td:first-child{position:sticky;left:0}.question-detail-students-table thead th:first-child{z-index:2;box-shadow:10px 0 12px -12px #0f172447}.question-detail-students-table td:first-child{z-index:1;background:#fff;max-width:240px;box-shadow:10px 0 12px -12px #0f172447}.question-detail-students-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.import-modal-backdrop{z-index:130;background:#0c142280;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.import-modal-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(760px,100%);max-height:min(86vh,860px);padding:14px;display:flex;overflow:auto;box-shadow:0 14px 28px #0a0f1847}.import-modal-card.simple-mode{width:min(980px,100%)}.import-step-card{width:min(560px,100%)}.import-modal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.import-type-list{flex-direction:column;gap:8px;display:flex}.import-type-item{border:1px solid var(--line);cursor:pointer;background:#fbfcff;border-radius:12px;align-items:flex-start;gap:10px;padding:10px;display:flex}.import-type-item input{width:auto;margin-top:2px}.import-type-item span{flex-direction:column;gap:4px;display:flex}.import-type-item small{color:var(--muted);font-size:12px;line-height:1.35}.import-type-item.active{background:#eaf2ff;border-color:#7ea4d2}.import-type-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23607b9a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:10px 6px;padding-right:42px}.import-type-description{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:-2px;font-size:13px;line-height:1.35;display:flex}.import-template-link{color:#1f63b8;text-underline-offset:2px;font-weight:700;text-decoration:underline;text-decoration-thickness:from-font}.import-template-link:hover{color:#174b8b}.import-modal-field{flex-direction:column;gap:6px;display:flex}.import-modal-field label{color:var(--muted);font-size:14px}.import-modal-inline-label{color:var(--muted);font-size:14px;font-weight:600}.import-simple-wrap{flex-direction:column;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.import-simple-settings-row{flex-wrap:nowrap;align-items:flex-start;gap:12px;padding-bottom:2px;display:flex;overflow-x:auto}.import-simple-settings-row .import-modal-field{flex:1 1 0;min-width:220px}.import-simple-settings-row .import-option-count-field{max-width:260px}.import-simple-textarea{resize:vertical;min-height:150px;max-height:260px}.import-check-group{flex-wrap:wrap;gap:8px;display:flex}.import-check-item{border:1px solid var(--line);color:#35506f;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f7f9fc;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.import-check-item input{margin:0}.import-check-item.active{color:#173c66;background:#e8f1ff;border-color:#7ea4d2;box-shadow:inset 0 0 0 1px #456c9b33}.import-answer-type-toggle{width:fit-content}.export-step-card{gap:12px}.export-format-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.export-format-option{border:1px solid var(--line);color:#1f2d42;cursor:pointer;background:#fbfcff;border-radius:12px;align-items:center;gap:10px;min-height:64px;padding:12px;font-weight:800;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.export-format-option input{margin:0}.export-format-option.active{background:#eaf2ff;border-color:#7ea4d2;box-shadow:inset 0 0 0 1px #4f86d826}.import-answer-type-toggle input{margin:0}.import-answer-type-note{color:var(--muted);font-size:13px}.import-short-answer-columns{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;display:grid}.import-short-answer-column-field select{width:100%}.import-short-answer-preview{border:1px solid var(--line);background:#f9fbff;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.import-short-answer-preview-head{color:#35506f;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.import-short-answer-preview-head-main{flex-direction:column;gap:2px;display:flex}.import-short-answer-preview-empty{color:var(--muted);font-size:13px;line-height:1.4}.import-short-answer-expand-btn{align-self:flex-start}.import-short-answer-column-error{color:var(--red);margin-top:-4px;font-size:12px}.import-option-count-field input{width:160px}.import-preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.import-preview-meta{color:var(--muted);font-size:12px}.import-preview-toggle-btn{white-space:nowrap}.import-manual-options-card{background:#f8fbff;border:1px dashed #b9cbe4;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.import-manual-options-head{color:#35506f;flex-direction:column;gap:4px;font-size:13px;display:flex}.import-manual-options-list{gap:6px}.import-manual-option-row{grid-template-columns:auto 1fr auto}.import-manual-option-input{min-height:40px}.import-preview-box{border:1px solid var(--line);background:#fbfcff;border-radius:12px;flex-direction:column;gap:10px;min-height:120px;max-height:min(42vh,360px);padding:10px;display:flex;overflow:auto}.import-preview-box.empty{color:var(--muted);text-align:center;justify-content:center;align-items:center}.import-preview-item{background:#fff;border:1px solid #dce5f2;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.import-preview-question{color:#13243b;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.import-preview-question-label{font-weight:700}.import-preview-question-text{font-weight:400}.import-preview-options-title{color:#35506f;font-size:13px}.import-preview-options{color:#2a4668;flex-direction:column;gap:3px;margin:0;padding-left:20px;font-size:13px;display:flex}.import-preview-options li.correct{color:#0b7a50;font-weight:700}.import-preview-short-answer{background:var(--green-soft);color:var(--green);border:1px solid #b9e4cf;border-radius:10px;padding:8px 10px;font-weight:400}.import-preview-warning{color:#7f5b10;background:#fff8e6;border:1px solid #ecd7a2;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.import-preview-warning-title{font-weight:700}.import-preview-errors{flex-direction:column;gap:4px;max-height:5.4em;margin:0;padding-left:18px;padding-right:4px;font-size:12px;line-height:1.35;display:flex;overflow-y:auto}.import-modal-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.import-dropzone{color:#2e4867;text-align:center;background:#f8fbff;border:2px dashed #b9cbe4;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;display:flex}.import-dropzone span{color:var(--muted);font-size:13px}.import-dropzone.drag-over{border-color:var(--blue);background:#eaf2ff}.room-confirm-card{width:min(440px,100%)}.trainer-confirm-card{gap:12px;width:min(460px,100%)}.trainer-confirm-title{margin:0}.trainer-confirm-note{margin:0;line-height:1.45}.dialog-modal{width:min(460px,100%)}.dialog-input-wrap{gap:6px;display:grid}.dialog-input-error{color:#b33e3e;font-size:12px;line-height:1.35}.room-launch-card{width:min(760px,100%)}.room-reports-card{gap:10px;width:min(1120px,100%);max-height:min(90vh,920px);display:grid;overflow:hidden}.room-reports-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.room-reports-card-content{min-height:0;overflow:auto}.room-reports-card-content .list-shell{margin-bottom:0}.room-launch-card h3{margin:0}.trainer-teacher-sub-header-3{margin-top:5px;margin-bottom:5px;font-size:18px}.room-launch-card select{width:100%}.room-launch-warning{color:#7f5b10;background:#fff6de;border:1px solid #f2cb86;border-radius:10px;margin:0;padding:10px 12px;font-size:14px;line-height:1.45}.live-results-host{flex-direction:column;gap:12px;display:flex}.live-results-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.live-results-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.live-results-card-head h3{font-size:18px}.live-results-card-meta{color:var(--muted);font-size:13px}.trainer-layout{grid-template-columns:340px minmax(0,1fr);gap:12px;display:grid}.trainer-layout-library{grid-template-columns:minmax(0,1fr)}.trainer-layout-library .trainer-main-column{grid-column:1/-1}.trainer-page-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.trainer-page-tab{border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px;font-weight:600}.trainer-page-tab:hover{background:#f5f8ff}.trainer-page-tab.active{color:var(--blue);background:var(--blue-soft);border-color:#cfe0ff}.trainer-main-column{gap:12px;display:grid}.trainer-group-card{font-size:14px}.trainer-group-title h2{font-size:24px}.trainer-group-title{align-items:center;gap:6px;min-width:0;display:inline-flex}.trainer-group-toggle-minimal{color:#4a607f;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;padding:0;font-size:15px;line-height:1;display:inline-flex}.trainer-group-toggle-minimal:hover{color:#1b2f4a}.trainer-group-picker{width:auto;min-width:180px;max-width:280px}.trainer-group-compose-host{margin-top:10px}.trainer-group-create-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px;display:grid}.trainer-add-group-btn{width:100%;margin-top:10px;display:block}.trainer-library-table{gap:8px;display:grid}.trainer-library-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1.2fr) 110px 110px auto;align-items:center;gap:8px;padding:8px;display:grid}.trainer-library-row-wide{grid-template-columns:minmax(0,1.2fr) 110px 140px 140px auto}.trainer-library-row.head{background:#f4f7fc;font-weight:700}.trainer-group-tests-table{margin-top:0!important}.trainer-group-tests-row{gap:8px}.trainer-group-tests-row>span,.trainer-group-tests-row>label{min-width:0}.trainer-group-tests-table-wide{overflow-x:auto}.trainer-group-tests-head-row>span{white-space:nowrap}.trainer-group-tests-add-head{text-align:center}.trainer-group-tests-add-cell{justify-content:center}.trainer-group-tests-row-wide{min-width:900px}.trainer-group-tests-shell{margin-top:0}.trainer-group-tests-input{width:100%;min-width:0}.trainer-group-tests-row.trainer-status-dark-green .trainer-group-tests-input,.trainer-group-tests-row.trainer-status-dark-blue .trainer-group-tests-input{color:#1a2a40;background:#fff;border-color:#c7d5e8}.trainer-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.trainer-test-reset-actions{justify-content:flex-end;width:100%}.trainer-access-duration-row{margin:2px 0 4px}.trainer-access-duration-row label{color:var(--muted);font-size:13px}.trainer-access-duration-row input{width:120px}.trainer-group-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.trainer-group-head-controls{align-items:center;gap:6px;display:inline-flex}.trainer-gear-btn{border:1px solid var(--line);color:#32577f;cursor:pointer;background:#f8fbff;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.trainer-gear-btn:hover{background:#eaf2ff}.trainer-gear-btn.trainer-gear-btn-individual{color:#1e4f93;background:#dbeaff;border-color:#8eb5f0}.trainer-gear-btn.trainer-gear-btn-individual:hover{background:#cfe2ff}.trainer-rating-btn{width:auto;min-width:72px;padding:0 10px;font-size:12px;font-weight:600}.trainer-gear-btn svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:16px;height:16px}.trainer-gear-btn svg circle{fill:currentColor;stroke:none}.trainer-group-settings-modal{gap:10px;width:min(860px,100%);max-height:min(88vh,940px);font-size:14px;display:grid}.trainer-group-settings-modal .bulk-modal-note{margin:0}.trainer-group-settings-grid{margin-top:2px}.trainer-group-settings-grid .trainer-inline-check{align-items:flex-start}.trainer-group-settings-grid .trainer-global-setting-section-wide{grid-column:1/-1}.trainer-group-settings-modal .trainer-field-row{background:#f9fbff;border:1px solid #d9e3f1;border-radius:12px;gap:8px;margin-top:0;padding:10px}.trainer-group-settings-modal .trainer-group-block{background:#f9fbff;border:1px solid #d9e3f1;border-radius:12px}.trainer-group-settings-modal .trainer-extra-settings-toggle{background:#f3f8ff;border-color:#d3e1f5;font-weight:600}.trainer-group-settings-modal .trainer-extra-settings-toggle:hover{background:#e8f2ff}.trainer-group-settings-modal .bulk-modal-actions{margin-top:0}.trainer-unassigned-badge{text-transform:uppercase;color:#3b5f89;background:#eef5ff;border:1px solid #bfd3ef;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.trainer-unassigned-note{color:#34577f;background:#f5f9ff;border:1px dashed #b9cde8;border-radius:10px;margin-top:8px;padding:9px 10px;font-size:13px;line-height:1.4}.trainer-join-code-card{gap:8px;display:grid}.trainer-global-settings-card{gap:10px;display:grid}.trainer-global-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.trainer-global-settings-head h3,.trainer-global-settings-note{margin:0}.trainer-global-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trainer-global-setting-section{background:#f9fbff;border:1px solid #d9e3f1;border-radius:12px;gap:8px;padding:10px;display:grid}.trainer-global-setting-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trainer-global-setting-inline-label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trainer-global-setting-inline-label input{width:90px}.trainer-global-setting-help{color:#7a8798;margin:0;font-size:12px;line-height:1.35}.trainer-join-code-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-join-code-row code{border:1px solid var(--line);letter-spacing:.12em;color:#224e84;background:#f8fbff;border-radius:10px;align-items:center;min-height:38px;padding:7px 11px;font-size:18px;font-weight:800;display:inline-flex}.trainer-join-code-input{letter-spacing:.08em;text-transform:uppercase;max-width:320px;font-weight:700}.trainer-edit-btn{border:1px solid var(--line);color:#32577f;cursor:pointer;background:#f8fbff;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.trainer-edit-btn:hover{background:#eaf2ff}.trainer-edit-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.trainer-invite-box{background:#f5f9ff;border:1px dashed #a6bfdf;border-radius:10px;gap:8px;margin-top:10px;padding:10px;display:grid;position:relative}.trainer-invite-link{word-break:break-all;color:#1b3b62}.trainer-invite-close{color:#1b3b62;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.trainer-invite-close:hover{background:#1b3b621f}.trainer-invite-note{color:#315378;gap:4px;font-size:13px;line-height:1.35;display:grid}.trainer-invite-note p{margin:0}.trainer-field-row{gap:6px;margin-top:10px;display:grid}.trainer-group-goals-row,.trainer-group-thresholds-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trainer-goal-field{color:var(--muted);gap:6px;font-size:14px;display:grid}.trainer-goal-field span{color:var(--muted)}.trainer-cutoff-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.trainer-cutoff-controls input[type=time]{min-width:110px}.trainer-check-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.trainer-check-column{border:1px solid var(--line);background:#fbfcff;border-radius:10px;gap:8px;padding:8px;display:grid}.trainer-check-column h3,.trainer-check-column h4{margin:0}.trainer-check-list{gap:6px;max-height:230px;display:grid;overflow:auto}.trainer-check-item{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-check-item-main{align-items:center;gap:8px;min-width:0;display:inline-flex}.trainer-check-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trainer-student-progress-chip{border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:2px 8px;font-size:11px;line-height:1.2;display:inline-flex}.trainer-group-actions{margin-top:10px}.trainer-assignment-sections{gap:10px;display:grid}.trainer-folder-groups{gap:8px;display:grid}.trainer-folder-group{display:grid;gap:0!important}.trainer-folder-group-root{background:#f7fbff;border:1px solid #d9e3f1;border-radius:10px;padding:8px}.trainer-folder-group-caption{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:700}.trainer-folder-toggle{color:#1e3f66;text-align:left;cursor:pointer;background:#f7fbff;border:1px solid #d9e3f1;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;font-weight:700;display:flex}.trainer-folder-toggle:hover{background:#edf5ff}.trainer-folder-group-body{margin-top:0!important}.trainer-folder-group-body .trainer-group-tests-table,.trainer-folder-group-body .trainer-group-tests-shell{margin-top:0}.trainer-student-library-shell{background:linear-gradient(#f5f9ff 0%,#fafdff 100%);border:1px solid #d8e5f5;border-radius:12px;padding:4px}.trainer-student-library-row{grid-template-columns:minmax(0,1.25fr) minmax(108px,.46fr) minmax(128px,.52fr);gap:8px}.trainer-student-library-row .row-main{min-width:0}.trainer-student-library-row .row-main strong{font-weight:700}.trainer-student-game-main{gap:3px;min-width:0;display:grid}.trainer-student-game-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trainer-student-game-mode-note{color:#58779a;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.trainer-student-game-launch-btn{color:#264b74;background:#f7fbff;border-color:#c5d9ee;border-radius:999px;min-width:76px;transition:transform .16s,box-shadow .16s,border-color .16s}.trainer-student-game-launch-btn:hover:not(:disabled){border-color:#98bbe2;transform:translateY(-1px);box-shadow:0 8px 16px #24518624}.trainer-student-game-row{background:linear-gradient(160deg,#f6faff 0%,#fff 100%);border:1px solid #d1e1f2;border-radius:12px;grid-template-columns:minmax(0,1.15fr) minmax(108px,.42fr) minmax(248px,.95fr);transition:transform .17s,box-shadow .17s,border-color .17s;box-shadow:0 6px 14px #1f487614}.trainer-student-game-row:hover{border-color:#a8c7e9;transform:translateY(-1px);box-shadow:0 10px 20px #1f48761f}.trainer-student-game-actions{gap:6px;width:100%;display:grid}.trainer-student-game-actions .trainer-student-game-launch-btn{width:100%;min-width:0}.trainer-student-library-row .row-leading-control{cursor:default}.trainer-student-library-cell{text-align:center;justify-content:center;align-items:center;min-width:0;font-size:14px;font-weight:600;display:inline-flex}.trainer-student-library-status{font-weight:700}.trainer-student-folder-row{color:#1f3c63;background:#f7fbff;border:1px solid #d7e2f2;grid-template-columns:minmax(0,1.25fr) minmax(108px,.46fr) minmax(128px,.52fr);font-weight:700}.trainer-student-folder-row:hover{background:#edf5ff}.trainer-student-folder-back-row{color:#2a4b72;background:#f1f6fd;border:1px solid #d7e2f2;font-weight:700}.trainer-student-folder-back-row:hover{background:#e7f0fc}.trainer-student-folder-path{color:#587395;font-size:12px}.trainer-student-folder-row,.trainer-student-folder-back-row{text-align:left;width:100%}.trainer-student-folder-back-row{display:none}.trainer-status-dark-green .test-badge{color:#1f4d2fe6}.trainer-status-dark-blue .test-badge{color:#1d466fe6}.trainer-section-title-with-dot{align-items:center;gap:8px;display:inline-flex}.trainer-required-alert-dot{background:#d23e3e;border-radius:999px;flex:none;width:9px;height:9px;box-shadow:0 0 0 3px #d23e3e2e}.trainer-assignment-section{gap:8px;display:grid}.trainer-students-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-eye-btn{border:1px solid var(--line);color:#32577f;cursor:pointer;background:#f8fbff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.trainer-eye-btn:hover{background:#eaf2ff}.trainer-eye-btn svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:16px;height:16px}.trainer-eye-btn svg circle{fill:currentColor;stroke:none}.trainer-student-list{gap:8px;margin-top:8px;display:grid}.trainer-student-list-shell{border-radius:12px}.trainer-student-head-row,.trainer-student-row{grid-template-columns:minmax(0,1.12fr) minmax(138px,.6fr) minmax(120px,.48fr) minmax(110px,.48fr) 50px;gap:8px}.trainer-student-head-row>span:nth-child(2),.trainer-student-head-row>span:nth-child(3),.trainer-student-head-row>span:nth-child(4){text-align:center;justify-self:center}.trainer-student-head-row>span:last-child{width:100%}.trainer-student-head-row .btn.tiny.ghost{white-space:nowrap}.trainer-student-row{min-height:56px}.trainer-student-row-main{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.trainer-student-row-main strong{width:100%}.trainer-student-row-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.trainer-student-row-points{color:#22476f;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.trainer-student-row-joined{color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.trainer-student-row-actions{justify-content:flex-end}.trainer-student-card{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.trainer-student-main{flex-direction:column;gap:2px;display:flex}.trainer-modal-card{width:min(900px,100%)}.trainer-points-history-modal,.trainer-preview-modal{width:min(980px,100%)}.trainer-rating-modal{width:min(760px,100%)}.trainer-rating-tabs{border:1px solid var(--line);background:#f6f9fe;border-radius:999px;gap:4px;padding:3px;display:inline-flex}.trainer-rating-tab{color:#315378;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 10px;font-weight:700}.trainer-rating-tab.active{color:#194674;background:#e6efff}.trainer-rating-table{gap:6px;margin-top:10px;display:grid}.trainer-rating-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center;gap:8px;padding:8px 10px;display:grid}.trainer-rating-row-head{background:#f4f7fc;font-weight:700}.trainer-rating-row.me{background:#f2f7ff;border-color:#b5cdf7}.trainer-rating-group-actions{flex-wrap:wrap;gap:8px;display:flex}.trainer-preview-summary{flex-wrap:wrap;gap:10px 14px;margin-bottom:8px;font-weight:600;display:flex}.trainer-preview-student-layout{max-height:min(62vh,620px);padding-right:2px;overflow:auto}.trainer-preview-sections{gap:10px;max-height:min(58vh,560px);padding-right:2px;display:grid;overflow-y:auto}.trainer-preview-section{gap:6px;display:grid}.trainer-preview-section h4{margin:0}.trainer-points-history-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-points-history-head h3{margin:0}.trainer-history-close{color:#365880;cursor:pointer;background:0 0;border:none;border-radius:8px;width:26px;height:26px;font-size:20px;line-height:1}.trainer-history-close:hover{background:#3658801f}.trainer-history-students{gap:10px;display:grid}.trainer-history-student-block{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:8px;display:grid}.trainer-history-student-head{gap:2px;display:grid}.trainer-history-student-head strong{font-size:15px}.trainer-history-student-head span{color:#4a627e;font-size:13px}.trainer-homework-completion{color:#2a4f7c;font-weight:700}.trainer-history-subsection{gap:6px;display:grid}.trainer-history-subsection h4{color:#27466b;margin:0;font-size:14px}.trainer-history-table{gap:6px;display:grid}.trainer-history-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(140px,.9fr) minmax(180px,1.2fr) 85px 75px 70px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:grid}.trainer-history-row-head{background:#f4f7fc;font-weight:700}.trainer-history-period-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.trainer-history-period-label{color:#315378;font-size:13px;font-weight:600}.trainer-history-period-inputs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trainer-history-period-input{width:110px}.trainer-history-period-sep{color:#315378;font-weight:600}.trainer-history-period-error{margin-top:4px}.trainer-weekly-points-fade{border-radius:12px;margin-top:10px;position:relative;overflow:hidden}.trainer-weekly-points-table-wrap{scrollbar-gutter:stable;max-height:min(68vh,560px);margin-top:0;overflow:auto}.trainer-weekly-points-fade-edge{pointer-events:none;z-index:6;opacity:0;transition:opacity .16s;position:absolute}.trainer-weekly-points-fade-edge.right{background:linear-gradient(90deg,#fff0,#fff 82%);width:44px;top:1px;bottom:12px;right:12px}.trainer-weekly-points-fade-edge.left{background:linear-gradient(270deg,#fff0,#fff 82%);width:36px;top:1px;bottom:12px;left:220px}.trainer-weekly-points-fade-edge.top{background:linear-gradient(#fff 18%,#fff0);height:30px;top:0;left:0;right:12px}.trainer-weekly-points-fade-edge.bottom{background:linear-gradient(#fff0,#fff 82%);height:34px;bottom:12px;left:0;right:12px}.trainer-weekly-points-fade.has-right-fade .trainer-weekly-points-fade-edge.right,.trainer-weekly-points-fade.has-left-fade .trainer-weekly-points-fade-edge.left,.trainer-weekly-points-fade.has-top-fade .trainer-weekly-points-fade-edge.top,.trainer-weekly-points-fade.has-bottom-fade .trainer-weekly-points-fade-edge.bottom{opacity:1}.trainer-weekly-points-table{min-width:760px}.trainer-weekly-points-table th,.trainer-weekly-points-table td{white-space:nowrap;text-align:center;vertical-align:top}.trainer-weekly-points-table th:first-child,.trainer-weekly-points-table td:first-child{text-align:left;background:#fff;min-width:220px;position:sticky;left:0}.trainer-weekly-points-table thead th:first-child{z-index:2;background:#f4f7fc}.trainer-student-view .page-header h1{text-transform:none}.trainer-student-layout{gap:10px;display:grid}.trainer-student-empty-groups-card{gap:8px;display:grid}.trainer-student-empty-groups-card h3{margin:0}.trainer-student-empty-groups-join-row{flex-wrap:wrap;gap:8px;display:flex}.trainer-student-empty-groups-join-row input{flex:220px;min-width:0}.trainer-student-empty-groups-join-btn{min-width:132px}.trainer-student-profile{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.trainer-student-profile-main{min-width:0}.trainer-student-profile-main h2{margin-bottom:4px}.trainer-student-profile-main p{margin:0}.trainer-student-rating-panel{border:1px solid var(--line);background:#f8fbff;border-radius:12px;gap:5px;min-width:0;padding:7px 8px;display:grid}.trainer-student-rating-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-student-rating-head h3{margin:0;font-size:15px}.trainer-student-rating-select{min-width:0;max-width:100%;min-height:30px;padding:4px 10px;font-size:12px}.trainer-student-rating-panel .trainer-rating-tabs{gap:3px;width:fit-content;margin-top:-1px;padding:2px}.trainer-student-rating-panel .trainer-rating-tab{padding:4px 8px;font-size:12px}.trainer-student-rating-summary{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.trainer-student-rating-chip{color:#2f4f70;background:#fff;border:1px solid #d7e3f1;border-radius:999px;padding:2px 8px;font-size:12px;line-height:1.3}.trainer-student-rating-chip strong{color:#1f476f;font-size:13px}.trainer-student-rating-open-btn{min-height:28px;margin-left:auto;padding:4px 10px;line-height:1.1}.trainer-student-rating-status{margin:0;font-size:12px}.trainer-student-rating-table{margin-top:0}.trainer-teacher-card{gap:12px;display:grid}.trainer-teacher-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trainer-group-threshold-note{margin-top:-4px}.trainer-group-block{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px;display:grid}.trainer-group-block-toggle{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.trainer-extra-settings-toggle{border:1px solid var(--line);background:#f8fbff;border-radius:10px;width:100%;margin-top:2px;padding:8px 10px}.trainer-extra-settings-toggle:hover{background:#edf5ff}.trainer-extra-settings-block{margin-top:8px}.trainer-group-block-head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.trainer-student-test-section{gap:0;display:grid}.trainer-section-toggle{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#f8fbff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:flex}.trainer-section-header-row{align-items:stretch;gap:0;display:flex}.trainer-section-toggle-main{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:auto;justify-content:flex-start;align-items:center;min-width:0;min-height:36px;display:flex}.trainer-section-toggle-main-fixed{cursor:default}.trainer-section-toggle-main>span{min-width:0}.trainer-section-toggle-actions{border:1px solid var(--line);background:#f8fbff;border-left:none;border-radius:0 10px 10px 0;align-items:stretch;display:inline-flex;overflow:hidden}.trainer-section-back-btn{color:#2f537d;cursor:pointer;background:0 0;border:none;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.trainer-section-icon-btn{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:34px;min-width:34px;height:auto;padding:0;display:flex}.trainer-section-icon-btn:hover,.trainer-section-back-btn:hover{background:#f2f7ff}.trainer-student-test-section.open .trainer-section-toggle-main{border-bottom-left-radius:0}.trainer-student-test-section.open .trainer-section-toggle-actions{border-bottom-right-radius:0}.trainer-student-test-section.open>.trainer-student-library-shell{border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.trainer-student-test-section.open>.trainer-student-library-shell>.list-row:first-child,.trainer-student-test-section.open>.trainer-student-library-shell>.empty-block:first-child{border-top-left-radius:0;border-top-right-radius:0}.trainer-student-test-section.open>.empty-block{border:1px solid var(--line);background:#fff;border-top:none;border-radius:0 0 10px 10px;margin-top:-1px}.trainer-collapse-icon{flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.trainer-collapse-icon:before{content:"";box-sizing:border-box;transform-origin:50%;will-change:transform;border-bottom:2.3px solid #607897;border-right:2.3px solid #607897;border-radius:1.5px;width:8px;height:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 2px))rotate(45deg)}.trainer-collapse-icon.open:before{transform:translate(-50%,calc(2px - 50%))rotate(-135deg)}.trainer-section-toggle:hover .trainer-collapse-icon:before,.trainer-section-icon-btn:hover .trainer-collapse-icon:before,.trainer-group-toggle-minimal:hover .trainer-collapse-icon:before,.trainer-group-block-toggle:hover .trainer-collapse-icon:before{border-color:#3f5d83}.trainer-student-tests{gap:6px;display:grid}.trainer-student-test-row{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.trainer-student-test-main{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:inline-flex}.trainer-student-test-main>span{text-overflow:ellipsis;white-space:nowrap;max-width:min(560px,70vw);font-weight:700;overflow:hidden}.trainer-student-test-main>small{color:var(--muted);font-size:11px;line-height:1.2}.trainer-status{border-color:#d6dfec}.trainer-status-white{background:#fff}.trainer-status-red{background:#ffe5e5;border-color:#e7a5a5}.trainer-status-dark-green{color:#1f4d2f;background:#b4d9be;border-color:#95c9a3}.trainer-status-dark-blue{color:#1d466f;background:#a6cbff;border-color:#8cb8f2}.trainer-status-light-green{color:#2a5a3a;background:#dff5e5;border-color:#c5e8cf}.trainer-status-light-blue{color:#27507b;background:#e0edff;border-color:#c8dbf8}.trainer-status-dark-blue .trainer-student-test-main>small,.trainer-status-light-blue .trainer-student-test-main>small{color:#3f6289}.trainer-status-yellow{background:#fff2bd;border-color:#e4cd7a}.trainer-student-library-row.trainer-status-white.clickable:hover{background:#f8fbff}.trainer-student-library-row.trainer-status-red.clickable:hover{background:#ffe1e1}.trainer-student-library-row.trainer-status-dark-green.clickable:hover{background:#b4d9be}.trainer-student-library-row.trainer-status-dark-blue.clickable:hover{background:#a6cbff}.trainer-student-library-row.trainer-status-light-green.clickable:hover{background:#dff5e5}.trainer-student-library-row.trainer-status-light-blue.clickable:hover{background:#e0edff}.trainer-student-library-row.trainer-status-yellow.clickable:hover{background:#fff2bd}.trainer-preview-test-row{cursor:default}.trainer-test-card{gap:12px;display:grid}.trainer-question-bucket-actions{flex-wrap:wrap;gap:8px;padding:2px;display:flex}.trainer-question-bucket-btn{background:#f8fbff;border-color:#c5d9ee;border-radius:999px;min-width:132px;transition:transform .16s,box-shadow .16s,border-color .16s}.trainer-question-bucket-btn:hover:not(:disabled){border-color:#a9c6e6;transform:translateY(-1px);box-shadow:0 8px 16px #24518621}.trainer-question-bucket-btn.active-learn{color:#7a2424;background:linear-gradient(150deg,#ffecec 0%,#fff7f7 100%);border-color:#d4a0a0;box-shadow:0 7px 14px #963e3e24}.trainer-question-bucket-btn.active-know{color:#1f5a30;background:linear-gradient(150deg,#e9f9ee 0%,#f6fdf8 100%);border-color:#97c5a3;box-shadow:0 7px 14px #2e704224}.trainer-student-test-card{width:min(1120px,100%);margin:0 auto}.trainer-test-meta{color:var(--muted);flex-wrap:wrap;gap:10px;display:flex}.trainer-question-list{gap:10px;display:grid}.trainer-question-item{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px;display:grid}.trainer-question-item p{margin:0}.trainer-option-list{gap:6px;display:grid}.trainer-option-item{align-items:center;gap:8px;display:inline-flex}.trainer-test-result{border:1px solid var(--line);background:#f7fbff;border-radius:10px;gap:4px;padding:10px;display:grid}.trainer-test-result-extended{gap:10px}.trainer-mistakes-panel{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px;display:grid}.trainer-mistakes-list{gap:8px;display:grid}.trainer-mistake-item{border:1px solid var(--line);background:#fbfdff;border-radius:10px;gap:6px;padding:10px;display:grid}.trainer-mistake-item p{white-space:pre-line;margin:0}.trainer-mistake-answer{color:#1f3c63;font-weight:600}.trainer-account-grid{gap:10px;display:grid}.trainer-account-card{gap:8px;display:grid}.trainer-inline-check{align-items:center;gap:8px;display:inline-flex}.trainer-inline-check-center{justify-content:center;width:100%;display:flex}.trainer-inline-check-center input{margin:0}.games-layout{gap:12px;display:grid}.games-library-panel{background:linear-gradient(170deg,#f7fbff 0%,#fff 64%);border:1px solid #cfe0f3;border-radius:16px;gap:10px;display:grid;box-shadow:0 12px 24px #1b426d17}.games-library-panel-head{border-bottom:1px solid #b6cde575;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.games-grid-row{grid-template-columns:minmax(0,1.25fr) minmax(84px,.45fr) minmax(88px,.5fr) minmax(88px,.5fr) minmax(148px,.72fr) minmax(220px,1fr)}.games-grid-row>:nth-child(2),.games-grid-row>:nth-child(3),.games-grid-row>:nth-child(4){text-align:center;justify-content:center;justify-self:stretch;align-items:center;display:flex}.games-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.games-row-actions .btn{border-radius:999px;min-width:88px}.games-sidebar,.games-editor{gap:10px;display:grid}.games-editor-stack{gap:12px;display:grid}.games-create-panel{gap:10px;margin-top:12px;display:grid}.games-create-panel>.btn{width:fit-content}.games-create-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.games-from-test-modal{width:min(720px,100%)}.games-test-picker-list{gap:8px;max-height:min(62vh,560px);padding-right:2px;display:grid;overflow-y:auto}.games-test-picker-row{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.games-test-picker-row:hover{background:#f1f8ff;border-color:#9ec0ef}.games-test-picker-row:disabled{cursor:default;opacity:.78}.games-test-picker-row span,.games-test-picker-row small{color:var(--muted);font-size:12px}.games-test-picker-action{color:#1f507f;font-weight:700}.games-create-grid{border:1px solid var(--line);background:#f8fbff;border-radius:12px;gap:8px;padding:10px;display:grid}.games-create-grid textarea{resize:vertical}.games-decks-list{gap:8px;max-height:min(58vh,560px);padding-right:2px;display:grid;overflow-y:auto}.games-deck-row{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.games-deck-row.active{background:#f0f7ff;border-color:#9ec0ef}.games-deck-row strong{font-size:14px}.games-deck-row span,.games-deck-row small{color:var(--muted);font-size:12px}.games-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.games-editor-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.games-deck-meta-grid{gap:8px;display:grid}.games-deck-meta-grid label{color:#28486b;gap:6px;font-weight:600;display:grid}.games-deck-meta-grid textarea{resize:vertical}.games-deck-stats{flex-wrap:wrap;gap:8px;display:flex}.games-deck-stats span{border:1px solid var(--line);color:#2a4c72;background:#f5f9ff;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.games-import-box{border:1px solid var(--line);background:#f8fbff;border-radius:12px;gap:8px;padding:10px;display:grid}.games-import-box h3{margin:0}.games-manual-grid{gap:8px;display:grid}.games-manual-grid textarea{resize:vertical;min-height:74px}.games-import-textarea{resize:vertical;min-height:148px}.games-import-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.games-cards-preview,.games-students-card{gap:8px;display:grid}.games-students-shell{overflow-x:auto}.games-students-grid-row{grid-template-columns:minmax(190px,1.35fr) minmax(142px,.95fr) minmax(118px,.7fr) minmax(92px,.5fr) minmax(82px,.45fr) minmax(82px,.45fr) minmax(152px,.9fr)}.games-students-grid-row>:first-child{gap:2px;display:grid}.games-students-grid-row>:first-child small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.games-students-grid-row>:nth-child(3),.games-students-grid-row>:nth-child(4),.games-students-grid-row>:nth-child(5),.games-students-grid-row>:nth-child(6){text-align:center;white-space:nowrap;justify-content:center;justify-self:stretch;align-items:center;display:flex}.games-card-preview-list{gap:8px;max-height:min(60vh,520px);padding-right:2px;display:grid;overflow-y:auto}.games-card-preview-row{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:10px;display:grid}.games-card-preview-head{color:#34587e;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.games-card-badge{letter-spacing:.01em;border-radius:999px;padding:3px 8px;font-size:11px}.games-card-badge.sides-2{color:#2c588d;background:#e6f1ff}.games-card-badge.sides-3{color:#236042;background:#e8faef}.games-card-preview-row p{color:#233a58;white-space:pre-wrap;word-break:break-word;margin:0}.trainer-cards-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.trainer-cards-main{align-content:start;gap:12px;display:grid}.trainer-cards-main-head{gap:4px;display:grid}.trainer-cards-main-head .field-note{margin:0}.trainer-cards-picker-card{width:min(640px,100%)}.trainer-cards-teacher-list-modal{max-height:min(62vh,560px);padding-right:2px;overflow-y:auto}.trainer-cards-config{border-top:1px dashed #d4e2f0;gap:10px;padding-top:10px;display:grid}.trainer-cards-teacher-list,.trainer-cards-decks-grid{gap:8px;display:grid}.trainer-cards-teacher-row,.trainer-cards-deck-row{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.trainer-cards-teacher-row.active,.trainer-cards-deck-row.active{background:#f1f8ff;border-color:#96bced}.trainer-cards-teacher-row span,.trainer-cards-teacher-row small,.trainer-cards-deck-row span,.trainer-cards-deck-row small{color:var(--muted);font-size:12px}.trainer-cards-mode-row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.trainer-cards-mode-switch{background:linear-gradient(#eff6ff 0%,#e8f1ff 100%);border:1px solid #c9dced;border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.trainer-cards-mode-option{color:#365b83;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:700;transition:background .17s,color .17s,box-shadow .17s}.trainer-cards-mode-option.active{color:#183b64;background:#fff;box-shadow:0 2px 9px #1b3c5f24}.trainer-cards-mode-option:focus-visible{outline-offset:1px;outline:2px solid #7ea8dc}.trainer-cards-session{border:1px solid var(--line);background:#fcfdff;border-radius:12px;gap:10px;padding:10px;display:grid}.trainer-cards-session-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.trainer-cards-session-head h3{margin:0}.trainer-cards-session-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.trainer-cards-session-meta span{color:var(--muted);font-size:12px}.trainer-cards-expand-btn{white-space:nowrap}.trainer-cards-session-empty{align-content:center;min-height:320px}.trainer-cards-session-empty h3{text-align:center;margin:0}.trainer-cards-piles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.trainer-cards-pile{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;gap:2px;padding:8px;display:grid}.trainer-cards-pile strong{font-size:20px;line-height:1}.trainer-cards-pile span{color:var(--muted);font-size:12px}.trainer-cards-pile.stack{background:#eff6ff;border-color:#98bcf2}.trainer-cards-pile.learn{background:#fff7e6;border-color:#e2c88e}.trainer-cards-pile.know{background:#ecfbf3;border-color:#9fd6bb}.trainer-cards-pile.total{background:#f8fbff;border-color:#d6dfe8}.trainer-cards-stage{z-index:2;gap:10px;display:grid;position:relative}.trainer-cards-stage.expanded{z-index:1300;background:linear-gradient(#fcfefff7 0%,#f6fbfff7 100%);border:1px solid #c5d8eb;border-radius:18px;align-content:center;padding:14px;position:fixed;inset:18px;box-shadow:0 24px 60px #0c1f3757}.trainer-cards-stage.expanded .trainer-flashcard-shell{min-height:min(76vh,780px);padding:10px}.trainer-cards-stage.expanded .trainer-flashcard{width:min(980px,100%)}.trainer-cards-stage.expanded .trainer-flashcard-main{min-height:min(66vh,640px)}.trainer-cards-stage.expanded .trainer-flashcard-side span{font-size:clamp(24px,2.9vw,42px)}.trainer-cards-stage.expanded .trainer-flashcard-third.open{max-height:min(36vh,360px)}.trainer-cards-stage-backdrop{z-index:1250;background:#0f1e317a;border:none;margin:0;padding:0;position:fixed;inset:0}.trainer-cards-immersive-open,.test-games-immersive-open{overflow:hidden}@keyframes test-game-pop-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes test-game-soft-pulse{0%{transform:scale(1);box-shadow:0 8px 18px #24548a24}50%{transform:scale(1.03);box-shadow:0 14px 28px #24548a33}to{transform:scale(1);box-shadow:0 8px 18px #24548a24}}@keyframes test-game-mismatch-shake{0%,to{transform:translate(0)}24%{transform:translate(-4px)}52%{transform:translate(4px)}76%{transform:translate(-2px)}}@keyframes test-game-pointer-beat{0%{opacity:.72;transform:translate(-45%,-50%)scale(.75)}to{opacity:0;transform:translate(-45%,-50%)scale(1.45)}}@keyframes test-game-shimmer{0%{opacity:0;transform:translate(-110%)}25%{opacity:.3}65%{opacity:.12}to{opacity:0;transform:translate(130%)}}@keyframes test-game-soft-float{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}.test-game-modal{isolation:isolate;background:radial-gradient(560px 280px at 102% -12%,#2d80df2b,#0000),radial-gradient(460px 220px at -8% 108%,#edac5324,#0000),linear-gradient(#f8fbff 0%,#fff 36%);border:1px solid #c1d5ec;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1100px,96vw);max-height:94vh;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 48px #10243e47,inset 0 1px #fffc}.test-game-modal.expanded{width:min(1320px,98vw);max-height:96vh}.test-game-modal.immersive-focus.expanded{width:100vw;max-width:none;height:100vh;max-height:100vh;box-shadow:none;background:radial-gradient(48vw 32vh at 6% 12%, color-mix(in srgb, var(--tg-accent-soft) 74%, white), transparent 76%), radial-gradient(40vw 28vh at 94% 100%, color-mix(in srgb, var(--tg-border) 58%, white), transparent 78%), linear-gradient(180deg, color-mix(in srgb, var(--tg-surface-soft) 96%, white) 0%, var(--tg-surface) 100%);border-width:0;border-radius:0;grid-template-rows:minmax(0,1fr);gap:0;padding:clamp(12px,2vw,24px)}.test-game-modal-head{border-bottom:1px solid #a3bedd61;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.test-game-modal-head h3{color:#1f486f;letter-spacing:.01em;margin:0;font-size:clamp(20px,2vw,24px)}.test-game-modal-head .field-note{color:#587494;margin-top:3px}.test-game-modal-head-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.test-game-modal-head-actions .btn{background:#ffffffd9;border-color:#c6d9ee;border-radius:999px;box-shadow:0 4px 10px #294c7514}.test-game-modal-head-actions .btn:hover:not(:disabled){border-color:#a8c5e8;transform:translateY(-1px)}.test-game-mode-picker{background:linear-gradient(170deg,#f3f9ffd9 0%,#fffffff2 64%);border:1px solid #d3e3f5;border-radius:14px;gap:10px;min-height:0;padding:12px;display:grid;overflow:auto}.test-game-mode-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.test-game-mode-item{color:#213a59;cursor:pointer;opacity:0;animation:.26s forwards test-game-pop-in;animation-delay:calc(var(--mode-order,0) * 46ms);background:linear-gradient(168deg,#f7fbff 0%,#fff 82%);border:1px solid #c7daee;border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:12px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;transform:translateY(7px)}.test-game-mode-item:hover{border-color:#abc8e7;transform:translateY(-2px);box-shadow:0 12px 22px #25548c24}.test-game-mode-item.active{background:linear-gradient(164deg,#edf6ff 0%,#f7fbff 100%);border-color:#8cb6e6;box-shadow:0 12px 24px #28599329}.test-game-mode-item input[type=radio]{accent-color:#2d7ad9;margin-top:2px;transform:scale(1.1)}.test-game-mode-item strong{color:#244d77}.test-game-mode-item.active strong{color:#1c4068}.test-game-mode-item span{gap:4px;display:grid}.test-game-mode-item small{color:#5a7897;font-size:12px;line-height:1.3}.test-game-launch-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.test-game-launch-toggle{border:1px solid var(--tg-border);background:color-mix(in srgb, var(--tg-surface-soft) 78%, white);min-height:40px;color:var(--tg-text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-right:auto;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.test-game-launch-toggle input[type=checkbox]{--active:var(--tg-accent);--border-hover:var(--tg-border-strong)}.test-game-launch-toggle span{white-space:nowrap}.test-game-launch-actions .btn{background:linear-gradient(135deg,#2f7de7 0%,#4a94f2 100%);border-radius:999px;padding-inline:16px;box-shadow:0 10px 18px #275e9e3d}.test-game-launch-actions .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 22px #275e9e47}.test-game-launch-actions .test-game-launch-all-btn{color:#fff;border-color:color-mix(in srgb, var(--tg-primary-start) 86%, white);background:linear-gradient(135deg, color-mix(in srgb, var(--tg-primary-start) 86%, #1f2f46) 0%, color-mix(in srgb, var(--tg-primary-end) 78%, #244263) 100%)}.test-game-mode-warning{border:1px solid var(--tg-border);background:color-mix(in srgb, var(--tg-surface-soft) 86%, white);border-radius:10px;padding:8px 10px}.test-game-session{background:linear-gradient(#f7fbffd6 0%,#fff 28%);border:1px solid #cadcee;border-radius:14px;gap:12px;min-height:0;padding:12px 12px 16px;display:grid;overflow:auto;box-shadow:inset 0 1px #ffffffbf}.test-game-session.wheel-immersive{grid-template-rows:auto minmax(0,1fr);height:100%;overflow:hidden}.test-game-session-head{z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f8fcffe6;border:1px solid #bcd2eaa6;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:-2px -2px 2px;padding:8px 10px;display:flex;position:sticky;top:-1px}.test-game-session.wheel-immersive .test-game-session-head{margin:0;position:static;top:auto}.test-game-session-title{color:#20486f;letter-spacing:.01em;font-weight:700}.test-game-session-meta{color:#486888;background:#f2f8ff;border:1px solid #c7dcef;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.test-game-stage{align-content:start;gap:12px;animation:.24s both test-game-pop-in;display:grid}.test-game-modal.immersive-focus.expanded .test-game-session{height:100%;box-shadow:none;background:0 0;border:none;grid-template-rows:minmax(0,1fr);align-content:stretch;padding:0;overflow:hidden}.test-game-modal.immersive-focus.expanded .test-game-stage{isolation:isolate;align-content:stretch;height:100%;min-height:0;position:relative}.test-game-modal.immersive-focus.expanded .test-game-stage:before{content:"";background:radial-gradient(50% 54% at 18% 50%, color-mix(in srgb, var(--tg-accent-soft) 82%, white), transparent 74%), radial-gradient(44% 44% at 82% 42%, color-mix(in srgb, var(--tg-border) 66%, white), transparent 78%);filter:blur(58px);opacity:.96;pointer-events:none;z-index:0;border-radius:40px;position:absolute;inset:10% 4%}.test-game-modal.immersive-focus.expanded .test-game-stage>*{z-index:1;position:relative}.test-game-wheel-stage.wheel-immersive{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.test-game-meta{color:#4e6a8a;font-size:13px;font-weight:700}.test-game-meta-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.test-game-meta-row>span{background:#f5faff;border:1px solid #d2e2f3;border-radius:999px;padding:4px 10px}.test-game-progress{background:#e4edf9;border:1px solid #d1e1f3;border-radius:999px;width:min(780px,100%);height:10px;margin:-2px auto 3px;overflow:hidden;box-shadow:inset 0 1px 2px #274e7a17}.test-game-progress span{background:linear-gradient(90deg,#4d89da 0%,#6ea0e6 100%);border-radius:999px;height:100%;transition:width .3s cubic-bezier(.2,.66,.32,1);display:block;position:relative}.test-game-progress span:after{content:"";pointer-events:none;background:linear-gradient(96deg,#0000 0%,#ffffffa6 44%,#0000 78%);animation:1.8s linear infinite test-game-shimmer;position:absolute;inset:0}.test-game-flashcard-shell{justify-items:center;gap:10px;width:100%;animation:.24s both test-game-pop-in;display:grid}.test-game-hint{color:#5d7d9f;background:#f7fbff;border:1px dashed #c7d9ee;border-radius:999px;padding:4px 10px;font-size:12px}.test-game-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.test-game-controls .btn{border-radius:999px;min-width:112px}.test-game-flashcard{width:min(780px,100%);color:var(--text);perspective:1200px;cursor:pointer;background:0 0;border:none;min-height:290px;margin:0 auto;padding:0;transition:transform .22s,filter .22s;position:relative}.test-game-flashcard:hover{filter:saturate(1.03);transform:translateY(-2px)}.test-game-flashcard-side{backface-visibility:hidden;text-align:center;background:linear-gradient(152deg,#f4f9ff 0%,#fff 74%);border:1px solid #c8d9ec;border-radius:18px;align-content:center;justify-items:center;gap:10px;padding:18px;transition:transform .32s cubic-bezier(.2,.65,.3,1),opacity .26s;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 16px 30px #19375724}.test-game-flashcard-side:after{content:"";pointer-events:none;background:radial-gradient(circle,#5794de38 0%,#0000 72%);border-radius:999px;width:170px;height:170px;position:absolute;inset:auto -36% 14% auto}.test-game-flashcard-side strong{color:#345c86;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.test-game-flashcard-side p{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;margin:0;font-size:clamp(16px,2.25vw,26px);line-height:1.33}.test-game-flashcard-side img,.test-game-question-panel img{object-fit:contain;background:#fff;border:1px solid #d5e1ef;border-radius:10px;width:min(100%,680px);max-height:220px}.test-game-flashcard-side.question{transform:rotateY(0)}.test-game-flashcard-side.answer{background:linear-gradient(152deg,#f0fdf7 0%,#fff 76%);transform:rotateY(180deg)}.test-game-flashcard.answer-visible .test-game-flashcard-side.question{opacity:0;transform:rotateY(180deg)}.test-game-flashcard.answer-visible .test-game-flashcard-side.answer{opacity:1;transform:rotateY(360deg)}.test-game-match-grid{width:min(var(--test-game-match-grid-width,980px), 100%);grid-template-columns:repeat(auto-fit, minmax(var(--test-game-match-card-min-width,140px), 1fr));gap:10px;margin:0 auto;display:grid}.test-game-match-card{min-height:var(--test-game-match-card-height,122px);cursor:pointer;perspective:1000px;transform-style:preserve-3d;background:linear-gradient(#fbfdff 0%,#f4f9ff 100%);border:1px solid #c4d8ee;border-radius:14px;padding:0;transition:transform .19s,border-color .19s,box-shadow .19s;position:relative}.test-game-match-card:hover:not(:disabled){border-color:#8eb7e4;transform:translateY(-2px);box-shadow:0 12px 24px #25568c29}.test-game-match-card .front,.test-game-match-card .back{backface-visibility:hidden;border-radius:11px;align-content:center;justify-items:center;gap:4px;padding:8px;transition:transform .22s,opacity .18s;display:grid;position:absolute;inset:0}.test-game-match-card .front{color:#355b86;opacity:0;background:linear-gradient(148deg,#f0f8ff 0%,#e5f0ff 100%);font-size:28px;font-weight:800;transform:rotateY(180deg)}.test-game-match-card .back{opacity:1;background:#fff;transform:rotateY(0)}.test-game-match-card .back strong{font-size:var(--test-game-match-card-text-size,14px);line-height:var(--test-game-match-card-text-line-height,1.28);text-align:center;white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;max-height:100%;display:-webkit-box;overflow:hidden}.test-game-match-card.open{border-color:#8eb7e4;box-shadow:0 12px 24px #25568c2e}.test-game-match-card.matched{background:linear-gradient(165deg,#f2fcf6 0%,#e9f9ef 100%);border-color:#93cdaf;box-shadow:0 8px 18px #347c4a1f}.test-game-match-card.matched .front,.test-game-match-card.matched .back{background:linear-gradient(155deg,#e3f8ec 0%,#f4fff8 100%)}.test-game-match-card.fresh-match{animation:.42s test-game-soft-pulse}.test-game-match-card.mismatch{border-color:#d7a4a4;animation:.32s test-game-mismatch-shake}.test-game-wheel-layout{z-index:1;justify-items:center;gap:14px;padding:2px 0 8px;display:grid;position:relative}.test-game-wheel-layout.wheel-immersive{grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch;justify-items:stretch;gap:10px;height:100%;min-height:0;padding:0}.test-game-wheel-viewport{background:radial-gradient(440px 320px at 26% 56%,#d1e4f8b8 0%,#0000 74%),linear-gradient(170deg,#f8fbff 0%,#f1f7ff 38%,#fff 100%);border:1px solid #c6dbee;border-radius:18px;place-items:center;width:min(860px,100%);height:clamp(360px,54vw,560px);padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffc7}.test-game-wheel-viewport.wheel-immersive{width:100%;height:100%;min-height:0;padding:clamp(18px,2.6vw,32px)}.test-game-wheel-wrap{aspect-ratio:1;filter:drop-shadow(0 10px 18px #2048721f);width:min(100% - 20px,clamp(300px,64vmin,620px));position:relative}.test-game-wheel-camera{pointer-events:none;border-radius:50%;place-items:center;width:100%;height:100%;display:grid;position:relative}.test-game-wheel-scene{backface-visibility:hidden;place-items:center;width:100%;height:100%;display:grid;position:relative;transform:translateZ(0)}.test-game-wheel{backface-visibility:hidden;will-change:transform;background:conic-gradient(#ddecff 0deg,#f0f7ff 180deg,#ddecff 360deg);border:12px solid #fff;border-radius:50%;width:100%;height:100%;transition:transform .12s linear;position:relative;box-shadow:0 16px 32px #1b3a5c38}.test-game-wheel.spinning{transition:none}.test-game-wheel:before{content:"";background:#ffffff54;border:1px solid #91abcd80;border-radius:50%;display:none;position:absolute;inset:46px}.test-game-wheel-number{transform:translate(calc(-50% - var(--wheel-label-x-nudge,0px)), -50%) rotate(calc(var(--wheel-label-angle,0deg) - 180deg));transform-origin:50%;color:#123250;-webkit-line-clamp:6;line-clamp:6;text-align:left;white-space:normal;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;letter-spacing:0;max-height:6.48em;text-shadow:none;z-index:2;pointer-events:none;text-rendering:optimizelegibility;-webkit-font-smoothing:auto;-webkit-box-orient:vertical;padding:0;font-size:clamp(13px,2.1vw,21px);font-weight:800;line-height:1.08;display:-webkit-box;position:absolute;overflow:hidden}.test-game-wheel-number.number-mode{-webkit-line-clamp:unset;line-clamp:unset;white-space:nowrap;max-height:none;font-weight:900;line-height:1;display:inline-block;overflow:visible}.test-game-wheel-core{z-index:1;background:radial-gradient(circle at 30% 30%,#fff 0%,#eaf2ff 100%);border:1px solid #c5d7eb;border-radius:50%;width:74px;height:74px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #fff,0 8px 15px #254f7b2e}.test-game-wheel-pointer{filter:drop-shadow(0 4px 8px #39121257);z-index:2;border-top:15px solid #0000;border-bottom:15px solid #0000;border-left:24px solid #d25252;width:0;height:0;position:absolute;top:50%;left:0;transform:translate(-14%,-50%)}.test-game-wheel-pointer-pulse{pointer-events:none;opacity:0;border:2px solid #d252529e;border-radius:50%;width:24px;height:24px;position:absolute;top:50%;left:0;transform:translate(-45%,-50%)scale(.8)}.test-game-wheel-pointer-pulse.spinning{animation:.21s linear test-game-pointer-beat}.test-game-wheel-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:0;display:inline-flex}.test-game-wheel-actions.wheel-immersive{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;width:100%;display:grid}.test-game-wheel-actions .btn{border-radius:999px;min-width:138px}.test-game-wheel-actions.wheel-immersive .btn{width:100%;min-width:0}.test-game-question-panel{z-index:2;background:linear-gradient(165deg,#f9fcff 0%,#fff 70%);border:1px solid #c9ddef;border-radius:14px;gap:9px;padding:12px;display:grid;position:relative;box-shadow:0 10px 20px #1b426d1a}.test-game-question-panel.wheel-immersive{max-height:min(30vh,250px);overflow:auto}.test-game-question-panel.revealed{animation:.22s test-game-pop-in}.test-game-question-panel strong{color:#234a73}.test-game-question-panel p{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;margin:0;font-size:15px;line-height:1.35}.test-game-answer{color:#1c5830;background:linear-gradient(150deg,#ebfaf1 0%,#f8fefb 100%);border:1px solid #abd0b8;border-radius:10px;padding:9px 11px;box-shadow:inset 0 1px #ffffffbf}.empty-block.wheel-immersive{background:#f7fbffd9;border:1px dashed #b8cee5;border-radius:12px;padding:10px 12px}.test-game-flip-grid{grid-template-columns:repeat(var(--test-game-flip-grid-columns,3), minmax(0, 1fr));grid-auto-rows:minmax(90px,1fr);gap:10px;display:grid}.test-game-flip-card{cursor:pointer;background:#fff;border:2px solid #c4d8ee;border-radius:12px;min-height:90px;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.test-game-flip-card:hover{border-color:#97bee8;transform:translateY(-2px);box-shadow:0 10px 20px #25558c24}.test-game-flip-card.recent{animation:.38s test-game-soft-pulse}.test-game-flip-card .front,.test-game-flip-card .back{text-align:center;border-radius:9px;justify-content:center;align-items:center;padding:8px;transition:transform .24s,opacity .19s;display:flex;position:absolute;inset:2px}.test-game-flip-card .front{color:#305985;background:linear-gradient(152deg,#f1f8ff 0%,#e5f0ff 100%);font-size:25px;font-weight:800}.test-game-flip-card .back{opacity:0;font-size:var(--test-game-flip-card-text-size,14px);line-height:var(--test-game-flip-card-text-line-height,1.3);white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;scrollbar-width:thin;overflow:auto;transform:rotateY(180deg)}.test-game-flip-card.open .front{opacity:0;transform:rotateY(180deg)}.test-game-flip-card.open .back{opacity:1;transform:rotateY(0)}.test-game-flip-focus{background:linear-gradient(165deg,#f9fcff 0%,#fff 70%);border:1px solid #c9ddef;border-radius:14px;gap:10px;padding:12px;display:grid;box-shadow:0 10px 20px #1b426d1a}.test-game-flip-focus-card{background:linear-gradient(150deg,#eef6ff 0%,#fff 72%);border:1px solid #bcd4ee;border-radius:14px;align-content:start;gap:10px;min-height:clamp(230px,42vh,430px);padding:14px;display:grid}.test-game-flip-focus-card strong{color:#234a73}.test-game-flip-focus-card p{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;margin:0;font-size:clamp(17px,2.35vw,28px);line-height:1.33}.test-game-flip-focus-card img{object-fit:contain;background:#fff;border:1px solid #d5e1ef;border-radius:10px;width:min(100%,720px);max-height:clamp(200px,34vh,300px)}.test-game-modal{--tg-bg-top:#2f7de724;--tg-bg-bottom:#5f6b7a1f;--tg-surface:#fff;--tg-surface-soft:#f8faff;--tg-surface-strong:#f1f5fc;--tg-border:#d7dee8;--tg-border-strong:#c4cdd9;--tg-text:#0f1724;--tg-text-soft:#5f6b7a;--tg-accent:#2f7de7;--tg-accent-strong:#1f5faf;--tg-accent-soft:#eaf2ff;--tg-accent-alt:#4d90ec;--tg-primary-start:#2f7de7;--tg-primary-end:#4d90ec;--tg-success:#1e8f63;--tg-success-soft:#def5ea;--tg-danger:#d14f4f;--tg-danger-soft:#fde8e8;--tg-wheel-pointer:#d14f4f;--tg-shadow:#0f17241f;--tg-shadow-strong:#0f17243d;color:var(--tg-text);border-color:var(--tg-border);background:radial-gradient(560px 280px at 102% -12%, var(--tg-bg-top), transparent), radial-gradient(460px 220px at -8% 108%, var(--tg-bg-bottom), transparent), linear-gradient(180deg, var(--tg-surface-soft) 0%, var(--tg-surface) 36%);box-shadow:0 24px 48px var(--tg-shadow-strong), inset 0 1px 0 #fffc}.test-game-modal[data-game-theme=monochrome]{--tg-bg-top:#ffffff14;--tg-bg-bottom:#ffffff0d;--tg-surface:#1a1a1a;--tg-surface-soft:#222;--tg-surface-strong:#2b2b2b;--tg-border:#ffffffd1;--tg-border-strong:#fff;--tg-text:#fff;--tg-text-soft:#ffffffc2;--tg-accent:#fff;--tg-accent-strong:#fff;--tg-accent-soft:#303030;--tg-accent-alt:#d8d8d8;--tg-primary-start:#fff;--tg-primary-end:#cfcfcf;--tg-success:#fff;--tg-success-soft:#2a2a2a;--tg-danger:#fff;--tg-danger-soft:#303030;--tg-wheel-pointer:#fff;--tg-shadow:#00000061;--tg-shadow-strong:#0000008a}.test-game-modal[data-game-theme=pastel]{--tg-bg-top:#f4bad22e;--tg-bg-bottom:#a7caff2e;--tg-surface:#fffdfd;--tg-surface-soft:#fff6fa;--tg-surface-strong:#f4efff;--tg-border:#d8c6ea;--tg-border-strong:#bca5d8;--tg-text:#4d3e61;--tg-text-soft:#7d6f94;--tg-accent:#9d6da8;--tg-accent-strong:#7b5388;--tg-accent-soft:#f4eafb;--tg-accent-alt:#84b5d8;--tg-primary-start:#9e7ad1;--tg-primary-end:#e79ac0;--tg-success:#6ea383;--tg-success-soft:#eef8f1;--tg-danger:#d47b8f;--tg-danger-soft:#fdeff3;--tg-wheel-pointer:#b26f93;--tg-shadow:#7b538826;--tg-shadow-strong:#7b538838}.test-game-modal[data-game-theme=playful]{--tg-bg-top:#e94f6429;--tg-bg-bottom:#2f80ed29;--tg-surface:#fff;--tg-surface-soft:#f7fbff;--tg-surface-strong:#f1f6ff;--tg-border:#b6c8ee;--tg-border-strong:#6d5dfc;--tg-text:#172033;--tg-text-soft:#536078;--tg-accent:#2f80ed;--tg-accent-strong:#5b3fd8;--tg-accent-soft:#e8f0ff;--tg-accent-alt:#e94f64;--tg-primary-start:#e94f64;--tg-primary-end:#2f80ed;--tg-success:#2a9d8f;--tg-success-soft:#e2f7f3;--tg-danger:#e94f64;--tg-danger-soft:#ffe7ec;--tg-wheel-pointer:#5b3fd8;--tg-shadow:#1c2d5c24;--tg-shadow-strong:#1c2d5c3d}.test-game-modal .test-game-modal-head{border-bottom-color:color-mix(in srgb, var(--tg-border) 70%, transparent)}.test-game-modal .test-game-modal-head h3,.test-game-modal .test-game-session-title,.test-game-modal .test-game-flashcard-side strong,.test-game-modal .test-game-question-panel strong,.test-game-modal .test-game-flip-focus-card strong,.test-game-modal .test-game-mode-item strong,.test-game-modal .test-game-sorting-block-head strong{color:var(--tg-accent-strong)}.test-game-modal .test-game-modal-head .field-note,.test-game-modal .test-game-mode-item small,.test-game-modal .test-game-meta,.test-game-modal .test-game-hint,.test-game-modal .test-game-question-panel p,.test-game-modal .test-game-flip-focus-card p,.test-game-modal .test-game-sorting-block-head span,.test-game-modal .test-game-sorting-result.pending{color:var(--tg-text-soft)}.test-game-modal .test-game-modal-head-actions .btn,.test-game-modal .test-game-mode-picker,.test-game-modal .test-game-session,.test-game-modal .test-game-session-head,.test-game-modal .test-game-question-panel,.test-game-modal .test-game-flip-focus,.test-game-modal .test-game-flip-focus-card,.test-game-modal .test-game-wheel-viewport,.test-game-modal .test-game-flip-viewport,.test-game-modal .test-game-sorting-pool,.test-game-modal .test-game-sorting-group{border-color:var(--tg-border);background:linear-gradient(170deg, color-mix(in srgb, var(--tg-surface-soft) 82%, white), var(--tg-surface));box-shadow:0 12px 24px var(--tg-shadow)}.test-game-modal .test-game-mode-item,.test-game-modal .test-game-flashcard-side,.test-game-modal .test-game-match-card,.test-game-modal .test-game-flip-card,.test-game-modal .test-game-sorting-card{border-color:var(--tg-border);color:var(--tg-text);background:linear-gradient(170deg, color-mix(in srgb, var(--tg-surface-soft) 72%, white), var(--tg-surface))}.test-game-modal .test-game-mode-item.active,.test-game-modal .test-game-flip-card.active,.test-game-modal .test-game-theme-chip.active{border-color:var(--tg-border-strong);box-shadow:0 12px 24px var(--tg-shadow)}.test-game-modal .test-game-meta-row>span,.test-game-modal .test-game-session-meta{border-color:var(--tg-border);color:var(--tg-text-soft);background:color-mix(in srgb, var(--tg-surface-soft) 82%, white)}.test-game-modal .test-game-progress{border-color:var(--tg-border);background:color-mix(in srgb, var(--tg-accent-soft) 56%, white)}.test-game-modal .test-game-progress span,.test-game-modal .test-game-launch-actions .btn{background:linear-gradient(135deg, var(--tg-primary-start) 0%, var(--tg-primary-end) 100%)}.test-game-modal .test-game-answer{border-color:color-mix(in srgb, var(--tg-success) 42%, white);background:linear-gradient(150deg, color-mix(in srgb, var(--tg-success-soft) 82%, white), var(--tg-surface));color:color-mix(in srgb, var(--tg-success) 78%, black)}.test-game-modal .test-game-match-card.matched,.test-game-modal .test-game-sorting-card.correct{border-color:color-mix(in srgb, var(--tg-success) 42%, white);background:linear-gradient(160deg, color-mix(in srgb, var(--tg-success-soft) 90%, white), var(--tg-surface))}.test-game-modal .test-game-match-card.matched .front,.test-game-modal .test-game-match-card.matched .back{background:linear-gradient(160deg, color-mix(in srgb, var(--tg-success-soft) 94%, white), color-mix(in srgb, var(--tg-success-soft) 70%, var(--tg-surface)))}.test-game-modal .test-game-match-card.mismatch,.test-game-modal .test-game-sorting-card.incorrect,.test-game-modal .test-game-sorting-card.incorrect.selected{border-color:color-mix(in srgb, var(--tg-danger) 48%, white);background:linear-gradient(160deg, color-mix(in srgb, var(--tg-danger-soft) 88%, white), var(--tg-surface))}.test-game-modal .test-game-wheel-pointer{border-left-color:var(--tg-wheel-pointer)}.test-game-modal .test-game-wheel-pointer-pulse{border-color:color-mix(in srgb, var(--tg-wheel-pointer) 62%, white)}.test-game-modal .test-game-wheel-core{border-color:color-mix(in srgb, var(--tg-border) 92%, white);background:radial-gradient(circle at 30% 30%, #fff 0%, color-mix(in srgb, var(--tg-accent-soft) 50%, white) 100%)}.test-game-modal .test-game-wheel-number{color:var(--tg-accent-strong);text-shadow:none}.test-game-modal .test-game-wheel-number.selected{color:var(--tg-accent)}.test-game-modal[data-game-theme=monochrome]{background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/28px 28px,repeating-linear-gradient(135deg,#181818 0 14px,#202020 14px 28px)}.test-game-modal[data-game-theme=monochrome].immersive-focus.expanded{background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/32px 32px,repeating-linear-gradient(135deg,#171717 0 16px,#202020 16px 32px)}.test-game-modal[data-game-theme=monochrome] .test-game-modal-head-actions .btn,.test-game-modal[data-game-theme=monochrome] .test-game-mode-picker,.test-game-modal[data-game-theme=monochrome] .test-game-session,.test-game-modal[data-game-theme=monochrome] .test-game-session-head,.test-game-modal[data-game-theme=monochrome] .test-game-question-panel,.test-game-modal[data-game-theme=monochrome] .test-game-flip-focus,.test-game-modal[data-game-theme=monochrome] .test-game-flip-focus-card,.test-game-modal[data-game-theme=monochrome] .test-game-wheel-viewport,.test-game-modal[data-game-theme=monochrome] .test-game-flip-viewport,.test-game-modal[data-game-theme=monochrome] .test-game-sorting-pool,.test-game-modal[data-game-theme=monochrome] .test-game-sorting-group,.test-game-modal[data-game-theme=monochrome] .test-game-mode-item,.test-game-modal[data-game-theme=monochrome] .test-game-flashcard-side,.test-game-modal[data-game-theme=monochrome] .test-game-match-card,.test-game-modal[data-game-theme=monochrome] .test-game-flip-card,.test-game-modal[data-game-theme=monochrome] .test-game-sorting-card{color:#fff;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/18px 18px,#202020;border-color:#ffffffd1;box-shadow:0 14px 26px #00000080}.test-game-modal[data-game-theme=monochrome] .test-game-match-card .front,.test-game-modal[data-game-theme=monochrome] .test-game-match-card .back,.test-game-modal[data-game-theme=monochrome] .test-game-flip-card .front,.test-game-modal[data-game-theme=monochrome] .test-game-flip-card .back,.test-game-modal[data-game-theme=monochrome] .test-game-wheel-core{color:#fff;background:#1f1f1f;border-color:#ffffffd1}.test-game-modal[data-game-theme=monochrome] .test-game-launch-actions .btn,.test-game-modal[data-game-theme=monochrome] .test-game-controls .btn:not(.ghost),.test-game-modal[data-game-theme=monochrome] .test-game-wheel-actions .btn:not(.ghost){color:#050505;background:#fff;border-color:#fff}.test-game-modal[data-game-theme=monochrome] .test-game-launch-actions .btn.ghost,.test-game-modal[data-game-theme=monochrome] .test-game-controls .btn.ghost,.test-game-modal[data-game-theme=monochrome] .test-game-wheel-actions .btn.ghost,.test-game-modal[data-game-theme=monochrome] .test-game-modal-head-actions .btn{color:#fff;background:#202020e0;border-color:#ffffffd1}.test-game-theme-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.test-game-theme-picker.compact{gap:8px;min-width:min(420px,100%);display:inline-flex}.test-game-theme-picker-label{letter-spacing:.04em;text-transform:uppercase;color:var(--tg-text-soft);flex:none;font-size:12px;font-weight:700}.test-game-theme-picker-options{flex-wrap:wrap;gap:8px;display:flex}.test-game-theme-chip{border:1px solid var(--tg-border);color:var(--tg-text);cursor:pointer;background:#ffffffd9;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex}.test-game-theme-chip:hover{box-shadow:0 10px 18px var(--tg-shadow);transform:translateY(-1px)}.test-game-theme-chip.active{border-width:2px;border-color:var(--tg-accent);background:color-mix(in srgb, var(--tg-accent-soft) 70%, white);box-shadow:0 10px 22px color-mix(in srgb, var(--tg-accent) 20%, transparent);padding:7px 11px}.test-game-theme-chip-preview{border:1px solid #ffffffd1;border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:0 2px 8px #12182424}.test-game-theme-chip-preview.pergamum{background:linear-gradient(135deg,#2f7de7 0%,#d7dee8 100%)}.test-game-theme-chip-preview.monochrome{background:linear-gradient(135deg,#fff 0%,#171717 100%)}.test-game-theme-chip-preview.pastel{background:linear-gradient(135deg,#f9c7dc 0%,#9e7ad1 100%)}.test-game-theme-chip-preview.playful{background:conic-gradient(from 18deg,#e94f64,#f59e0b,#f3d34a,#2a9d8f,#2f80ed,#6d5dfc,#c026d3,#e94f64)}.test-game-session-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.test-game-immersive-exit{top:max(12px, env(safe-area-inset-top,0px) + 8px);right:max(12px, env(safe-area-inset-right,0px) + 8px);border:1px solid color-mix(in srgb, var(--tg-border) 92%, white);background:color-mix(in srgb, var(--tg-surface) 84%, white);width:40px;height:40px;color:var(--tg-accent-strong);cursor:pointer;z-index:10;box-shadow:0 14px 28px var(--tg-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;font-size:22px;line-height:1;position:absolute}.test-game-wheel-camera,.test-game-flip-camera{width:100%;transform:translate(var(--test-game-camera-x,0px), var(--test-game-camera-y,0px)) scale(var(--test-game-camera-scale,1));transform-origin:50%;will-change:transform;transition:transform .62s cubic-bezier(.18,.8,.24,1);position:relative}.test-game-wheel-camera.focused,.test-game-flip-camera.focused{filter:saturate(1.04)}.test-game-session.wheel-immersive.immersive-minimal{height:100%;box-shadow:none;background:0 0;border:none;padding:0}.test-game-wheel-stage.immersive-minimal{grid-template-rows:minmax(0,1fr);height:100%}.test-game-wheel-layout.immersive-minimal{grid-template-rows:minmax(0,1fr) auto;justify-items:stretch;gap:clamp(14px,2vh,24px);height:100%}.test-game-wheel-viewport.immersive-minimal{border-radius:34px}.test-game-wheel-actions.wheel-immersive.immersive-minimal{margin-top:auto;border:1px solid color-mix(in srgb, var(--tg-border) 88%, white);background:color-mix(in srgb, var(--tg-surface) 80%, white);width:min(760px,100%);box-shadow:0 18px 36px var(--tg-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;justify-items:stretch;gap:12px;margin-inline:auto;padding:12px}.test-game-wheel-actions.wheel-immersive.immersive-minimal .btn{max-width:none;min-height:56px;font-size:15px}.test-game-flip-layout{gap:14px;display:grid}.test-game-flip-layout.immersive-minimal{grid-template-rows:minmax(0,1fr);height:100%}.test-game-flip-viewport{border:1px solid var(--tg-border);background:linear-gradient(170deg, color-mix(in srgb, var(--tg-surface-soft) 82%, white), var(--tg-surface));border-radius:18px;min-height:340px;position:relative;overflow:hidden}.test-game-flip-viewport.immersive-minimal{border-radius:34px;height:100%;min-height:0;padding:clamp(18px,2.8vw,36px);overflow:auto}.test-game-flip-viewport.immersive-minimal.focused{overflow:hidden}.test-game-flip-camera{align-items:center;min-height:100%;display:grid}.test-game-flip-scene{align-items:center;width:100%;min-height:100%;display:grid;position:relative}.test-game-flip-grid.immersive-minimal{grid-template-columns:repeat(var(--test-game-flip-grid-columns,4), minmax(0, 1fr));grid-template-rows:repeat(var(--test-game-flip-grid-rows,3), minmax(0, 1fr));align-content:stretch;gap:16px;height:100%;min-height:100%;padding:8px}.test-game-modal.immersive-minimal[data-game-mode=flip_cards] .test-game-flip-card{height:100%;min-height:0}.test-game-flip-card{border-color:var(--tg-border)}.test-game-flip-card .front{color:var(--tg-accent-strong);background:linear-gradient(152deg, color-mix(in srgb, var(--tg-accent-soft) 70%, white), var(--tg-surface))}.test-game-flip-card .back{background:var(--tg-surface);color:var(--tg-text)}.test-game-flip-card.active{border-color:var(--tg-border-strong);box-shadow:0 16px 28px var(--tg-shadow)}.test-game-flip-card.open{box-shadow:0 16px 28px var(--tg-shadow)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-stage{grid-template-rows:auto auto minmax(0,1fr) auto auto;justify-items:center}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-meta-row,.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-progress,.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-controls,.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .trainer-question-bucket-actions{width:min(980px,100%)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-shell{place-items:center;width:100%;min-height:0;position:relative}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-shell:before{content:"";background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tg-accent-soft) 86%, white), transparent 66%), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tg-border) 44%, white), transparent 74%);filter:blur(68px);opacity:.98;pointer-events:none;border-radius:42px;position:absolute;inset:8% 6%}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard{width:min(90vw,1560px);min-height:min(72vh,920px)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-side{border-radius:34px;gap:clamp(18px,2.4vw,30px);padding:clamp(28px,4vw,56px)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-side strong{font-size:clamp(14px,1vw,18px)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-side p{font-size:clamp(28px,3.8vw,58px)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-flashcard-side img{max-height:min(34vh,420px)}.test-game-modal.immersive-focus.expanded[data-game-mode=classic_flashcards] .test-game-controls .btn{min-width:172px;min-height:52px;font-size:16px}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-stage{grid-template-rows:auto minmax(0,1fr)}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-meta{margin-top:10px;margin-left:10px}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-match-grid{width:min(var(--test-game-match-grid-full-width,1480px), 100%);grid-template-columns:repeat(auto-fit, minmax(var(--test-game-match-card-full-min-width,160px), 1fr));align-content:start;gap:clamp(16px,2vw,24px);margin:auto;padding:clamp(18px,3vw,40px);overflow:auto}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-match-card{min-height:var(--test-game-match-card-full-height,180px);border-radius:24px}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-match-card .front{font-size:clamp(46px,5vw,78px)}.test-game-modal.immersive-focus.expanded[data-game-mode=matched_cards] .test-game-match-card .back strong{font-size:var(--test-game-match-card-full-text-size,clamp(20px, 1.8vw, 30px));line-height:var(--test-game-match-card-full-line-height,1.14);-webkit-line-clamp:12;line-clamp:12}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-number{--wheel-label-x-nudge:clamp(6px, .7vw, 12px);-webkit-line-clamp:8;line-clamp:8;max-height:8.64em}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-stage{scrollbar-width:thin;grid-template-rows:auto auto;align-content:start;padding:clamp(10px,1.4vw,18px) 0 clamp(16px,2vw,24px);overflow:auto}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-footer{width:min(1620px,100%);margin-inline:auto}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-layout{box-sizing:border-box;grid-template-rows:auto auto;align-content:start;width:min(1620px,100%);height:auto;min-height:100%;margin:0 auto;padding:18px;overflow:visible}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-pool,.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-group{border-radius:24px;padding:20px 22px}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-groups{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--test-game-sorting-zone-full-min-width,300px)), 1fr));gap:18px;max-height:none;padding:2px;overflow:visible}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-card-list{gap:14px}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-pool-list{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--test-game-sorting-card-full-min-width,210px)), 1fr))}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-zone-list{min-height:180px}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-card{height:var(--test-game-sorting-card-full-height,92px);min-height:var(--test-game-sorting-card-full-height,92px);font-size:var(--test-game-sorting-card-full-text-size,18px);line-height:var(--test-game-sorting-card-full-line-height,1.24);border-radius:18px;padding:16px 18px}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-card.in-group{height:var(--test-game-sorting-placed-card-full-height,146px);min-height:var(--test-game-sorting-placed-card-full-height,146px)}.test-game-modal.immersive-focus.expanded[data-game-mode=sorting] .test-game-sorting-card-text{-webkit-line-clamp:var(--test-game-sorting-card-full-line-clamp,8);line-clamp:var(--test-game-sorting-card-full-line-clamp,8)}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-viewport{background:radial-gradient(54% 54% at 16% 50%, color-mix(in srgb, var(--tg-accent-soft) 86%, white), transparent 74%), linear-gradient(180deg, #ffffffc7 0%, #ffffff8f 100%);border:none;place-items:center;width:100%;padding:clamp(10px,1.8vw,20px);box-shadow:inset 0 1px #ffffffc7}.test-game-modal.immersive-focus.expanded[data-game-theme=monochrome][data-game-mode=wheel_of_fortune] .test-game-wheel-viewport{background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/32px 32px,radial-gradient(58% 52% at 16%,#ffffff14,#0000 74%),linear-gradient(#202020 0%,#181818 100%);box-shadow:inset 0 1px #ffffff14}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-wrap{width:min(100vh - 126px,100vw - 24px,1400px);position:relative;top:auto;left:auto;transform:none}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-actions.wheel-immersive.immersive-minimal{align-self:end;width:min(860px,100%)}.test-game-modal.immersive-focus.expanded[data-game-mode=flip_cards] .test-game-flip-viewport{background:radial-gradient(44% 38% at 12% 16%, color-mix(in srgb, var(--tg-accent-soft) 82%, white), transparent 78%), linear-gradient(180deg, #ffffffc7 0%, #ffffff94 100%);border:none;box-shadow:inset 0 1px #ffffffc7}.test-game-modal.immersive-focus.expanded[data-game-mode=flip_cards] .test-game-flip-grid.immersive-minimal{grid-template-columns:repeat(var(--test-game-flip-grid-columns,4), minmax(0, 1fr));grid-template-rows:repeat(var(--test-game-flip-grid-rows,3), minmax(0, 1fr));align-content:stretch;gap:clamp(8px,1.4vw,20px);width:min(1480px,100%);height:100%;margin:0 auto;padding:0}.test-game-modal.immersive-focus.expanded[data-game-mode=flip_cards] .test-game-flip-card{height:100%;min-height:0}.test-game-modal.immersive-focus.expanded[data-game-mode=flip_cards] .test-game-flip-card .front{font-size:var(--test-game-flip-card-full-number-size,clamp(48px, 6vw, 84px))}.test-game-modal.immersive-focus.expanded[data-game-mode=flip_cards] .test-game-flip-card .back{font-size:var(--test-game-flip-card-text-size,clamp(18px, 1.7vw, 24px));line-height:var(--test-game-flip-card-text-line-height,1.24);padding:clamp(12px,1.4vw,18px)}.test-game-sorting-layout{grid-template-rows:auto auto;align-content:start;gap:14px;min-height:0;display:grid}.test-game-sorting-pool,.test-game-sorting-group{border:1px solid var(--tg-border);border-radius:16px;gap:12px;min-width:0;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.test-game-sorting-pool.selection-ready,.test-game-sorting-group.selection-ready{border-color:var(--tg-border-strong);box-shadow:0 14px 24px var(--tg-shadow)}.test-game-sorting-groups{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--test-game-sorting-zone-min-width,220px)), 1fr));align-items:stretch;gap:12px;display:grid}.test-game-sorting-block-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.test-game-sorting-block-head strong{overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual}.test-game-sorting-card-list{align-items:stretch;gap:10px;min-height:0;display:grid}.test-game-sorting-pool-list{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--test-game-sorting-card-min-width,156px)), 1fr));align-content:start;padding-right:2px;overflow:visible}.test-game-sorting-zone-list{grid-template-columns:1fr;align-content:start;min-height:150px}.test-game-sorting-card{border:1px solid var(--tg-border);height:var(--test-game-sorting-card-height,72px);min-height:var(--test-game-sorting-card-height,72px);background:linear-gradient(170deg, color-mix(in srgb, var(--tg-surface-soft) 72%, white), var(--tg-surface));color:var(--tg-text);text-align:left;font-size:var(--test-game-sorting-card-text-size,15px);line-height:var(--test-game-sorting-card-text-line-height,1.24);cursor:pointer;border-radius:14px;align-content:center;gap:4px;padding:10px 12px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:grid;overflow:hidden}.test-game-sorting-card.in-group{height:var(--test-game-sorting-placed-card-height,118px);min-height:var(--test-game-sorting-placed-card-height,118px)}.test-game-sorting-card-side{letter-spacing:.04em;text-transform:uppercase;color:var(--tg-text-soft);font-size:11px;font-weight:700}.test-game-sorting-card-text{color:var(--tg-text);white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;-webkit-line-clamp:var(--test-game-sorting-card-line-clamp,6);line-clamp:var(--test-game-sorting-card-line-clamp,6);-webkit-box-orient:vertical;max-height:100%;display:-webkit-box;overflow:hidden}.test-game-sorting-empty{border:1px dashed color-mix(in srgb, var(--tg-border) 78%, transparent);min-height:58px;color:var(--tg-text-soft);background:color-mix(in srgb, var(--tg-surface-soft) 70%, transparent);text-align:center;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;border-radius:12px;place-items:center;padding:10px;font-size:13px;line-height:1.35;display:grid}.test-game-sorting-card:hover{box-shadow:0 10px 18px var(--tg-shadow);transform:translateY(-2px)}.test-game-sorting-card.selected{border-color:var(--tg-border-strong);box-shadow:0 12px 22px var(--tg-shadow)}.test-game-sorting-result{border:1px solid var(--tg-border);background:color-mix(in srgb, var(--tg-surface-soft) 82%, white);color:var(--tg-text);border-radius:14px;padding:12px 14px}.test-game-sorting-result.perfect{border-color:color-mix(in srgb, var(--tg-success) 40%, white);background:linear-gradient(150deg, color-mix(in srgb, var(--tg-success-soft) 88%, white), var(--tg-surface));color:color-mix(in srgb, var(--tg-success) 76%, black)}.test-game-sorting-footer{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:10px;display:flex}.test-game-sorting-footer .test-game-sorting-result{flex:340px}.test-game-sorting-actions{justify-content:flex-end;align-items:stretch;display:flex}.test-game-sorting-actions .btn{min-width:142px}.trainer-flashcard-shell{justify-content:center;align-items:center;min-height:320px;padding:8px;transition:transform .18s,opacity .18s;display:flex}.trainer-flashcard-shell.moving-learn{opacity:.82;transform:translate(-16px)rotate(-2deg)}.trainer-flashcard-shell.moving-know{opacity:.82;transform:translate(16px)rotate(2deg)}.trainer-flashcard{width:min(680px,100%);min-height:240px;color:var(--text);cursor:pointer;perspective:1200px;background:0 0;border:none;gap:8px;padding:0;display:grid}.trainer-flashcard-main{width:100%;min-height:240px;transform-style:preserve-3d;border-radius:16px;transition:transform .32s cubic-bezier(.2,.65,.3,1);position:relative}.trainer-flashcard.face-back .trainer-flashcard-main,.trainer-flashcard.face-extra .trainer-flashcard-main{transform:rotateY(180deg)}.trainer-flashcard-side{border:1px solid var(--line);text-align:center;backface-visibility:hidden;background:#fff;border-radius:16px;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 20px #1f406217}.trainer-flashcard-side span{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;font-size:clamp(18px,2.4vw,28px);line-height:1.32}.trainer-flashcard-side.front{background:linear-gradient(150deg,#f8fbff 0%,#fff 100%)}.trainer-flashcard-side.back{background:linear-gradient(150deg,#f9fffb 0%,#fff 100%);transform:rotateY(180deg)}.trainer-flashcard-third{opacity:0;transform-origin:top;width:100%;min-height:0;max-height:0;transition:max-height .3s,opacity .22s,transform .3s;overflow:hidden;transform:perspective(880px)rotateX(-86deg)}.trainer-flashcard-third.open{opacity:1;min-height:140px;max-height:280px;transform:perspective(880px)rotateX(0)}.trainer-flashcard-third span{text-align:center;color:#204c2f;white-space:pre-wrap;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;background:linear-gradient(150deg,#effdf3 0%,#fff 100%);border:1px solid #b7d2bc;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:140px;padding:16px;font-size:clamp(17px,2.1vw,25px);line-height:1.35;display:flex}.trainer-flashcard-empty{border:1px dashed var(--line-strong);width:min(680px,100%);min-height:240px;color:var(--muted);text-align:center;background:#f8fbff;border-radius:16px;justify-content:center;align-items:center;padding:16px;display:flex}.trainer-cards-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.trainer-cards-actions .btn{min-width:140px}.trainer-cards-action-learn{color:#7a5712;background:#fff6e4;border-color:#d8be84}.trainer-cards-action-know{background:#2f8c63;border-color:#2f8c63}@media (prefers-reduced-motion:reduce){.test-game-mode-item,.test-game-stage,.test-game-flashcard,.test-game-match-card,.test-game-flip-card,.test-game-wheel-camera,.test-game-flip-camera,.test-game-wheel-actions,.test-game-theme-chip,.test-game-sorting-card,.trainer-student-game-row,.trainer-student-game-launch-btn,.trainer-question-bucket-btn{transition:none!important;animation:none!important}.test-game-progress span:after,.test-game-wheel-pointer-pulse.spinning{animation:none!important}}@media (width<=980px){.landing-shell{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.page-actions{flex-wrap:wrap;width:100%}.inline-row{grid-template-columns:1fr}.editor-settings{grid-template-columns:1fr;align-items:stretch}.editor-settings-actions{justify-content:flex-start;align-self:flex-start}.room-topline,.room-action-row{grid-template-columns:1fr}.room-generated-launch{align-items:flex-start}.room-generated-launch-main,.room-generated-launch-btn{width:100%}.room-invite-card,.trainer-layout,.trainer-check-columns,.trainer-group-goals-row,.trainer-group-thresholds-row,.trainer-cutoff-controls,.trainer-global-settings-grid,.trainer-global-setting-inline,.trainer-history-row,.trainer-rating-row,.trainer-student-profile{grid-template-columns:1fr}.trainer-student-rating-summary{gap:5px}.trainer-library-row{grid-template-columns:1fr}.trainer-student-head-row,.trainer-student-row,.trainer-student-library-row{grid-template-columns:1fr;gap:6px}.trainer-student-row,.trainer-student-library-row,.trainer-student-folder-row{max-height:none}.trainer-student-row-points,.trainer-student-row-joined,.trainer-student-library-cell{text-align:left;justify-content:flex-start}.import-modal-card{width:min(680px,100%);max-height:90vh}.import-modal-card.simple-mode{width:min(760px,100%)}.import-simple-textarea{max-height:220px}.import-simple-settings-row{flex-wrap:wrap;overflow-x:visible}.import-simple-settings-row .import-modal-field{min-width:0}.import-preview-box{max-height:min(38vh,300px)}.import-manual-option-row,.import-short-answer-columns,.payment-layout{grid-template-columns:1fr}.payment-summary-card{position:static}.games-layout,.trainer-cards-layout{grid-template-columns:1fr}.test-game-modal{width:min(97vw,1120px);max-height:95vh;padding:12px}.test-game-mode-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.test-game-flashcard{min-height:250px}.test-game-flashcard-side{padding:12px}.trainer-cards-stage.expanded{padding:10px;inset:14px}.trainer-cards-stage.expanded .trainer-flashcard-main{min-height:min(70vh,620px)}.games-row-actions{justify-content:flex-start}.games-students-grid-row{grid-template-columns:minmax(180px,1fr) minmax(138px,.92fr) minmax(112px,.7fr) minmax(82px,.45fr) minmax(78px,.45fr) minmax(78px,.45fr) minmax(142px,.8fr)}.trainer-cards-piles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){#app{padding:14px}.platform-terms-link{bottom:8px;left:10px}.trainer-page-tabs{grid-template-columns:1fr;display:grid}.trainer-section-header-row{flex-wrap:wrap}.trainer-section-toggle-main{width:100%}.trainer-section-toggle-actions{justify-content:flex-end;width:100%}.teacher-header-inner{flex-direction:column;align-items:stretch;padding:10px 14px}.teacher-tabs{grid-template-columns:1fr;display:grid}.teacher-tools{flex-wrap:wrap;width:100%}.live-picker{justify-content:space-between;width:100%}.live-picker .btn{flex:1;min-width:0}.report-filter{justify-content:space-between;width:100%}.report-filter select{flex:1;min-width:0}.room-create-inline,.room-create-inline input{width:100%}.room-actions{flex-wrap:wrap;justify-content:flex-start}.register-code-row{flex-direction:column}.account-grid-row{grid-template-columns:1fr}.account-actions-row{flex-direction:column;align-items:stretch}.payment-plan-grid{grid-template-columns:1fr}.payment-promocode-row{flex-direction:column}.payment-promocode-row .btn,.payment-submit-btn{width:100%}.payment-widget-host{min-height:520px}.payment-widget-host iframe{height:520px!important}.payment-status-actions{flex-direction:column;align-items:stretch}.trainer-cards-mode-row{flex-direction:column;align-items:flex-start}.test-game-modal-head-actions,.test-game-launch-actions{justify-content:flex-start;width:100%}.test-game-launch-toggle{justify-content:flex-start;width:100%;margin-right:0}.test-game-mode-grid{grid-template-columns:1fr}.test-game-match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-game-flip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.test-game-wheel-viewport{height:clamp(320px,58vw,450px)}.test-game-wheel-wrap{width:min(100% - 12px,clamp(280px,72vmin,520px))}.test-game-modal.immersive-focus.expanded{padding:10px}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-wrap{width:min(100vh - 156px,100vw - 20px,1040px)}.test-game-wheel-actions.wheel-immersive{grid-template-columns:1fr}.test-game-wheel-actions.wheel-immersive.immersive-minimal{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:10px}.trainer-cards-mode-switch{grid-template-columns:1fr 1fr;width:100%;display:grid}.trainer-cards-mode-option{text-align:center;width:100%;min-height:40px}.trainer-cards-expand-btn,.games-create-panel>.btn,.games-create-actions{width:100%}.games-create-actions .btn{flex:1}.trainer-cards-actions,.trainer-cards-actions .btn{width:100%}.trainer-student-library-row,.trainer-student-folder-row,.trainer-student-game-row{max-height:none}.trainer-student-game-actions{width:100%}.bulk-modal-actions{flex-wrap:wrap;justify-content:stretch}.merge-order-row{flex-direction:column;align-items:stretch}.merge-order-actions{flex-wrap:wrap;justify-content:flex-start}.library-grid-row,.rooms-grid-row,.reports-grid-row,.list-head,.list-row{grid-template-columns:1fr;max-height:32px}.library-col-resize-handle{display:none}.align-right{text-align:left}.action-row .row-actions{opacity:1;pointer-events:auto;justify-content:flex-end}.library-grid-row{grid-template-columns:minmax(180px, var(--library-col-1,1fr)) var(--library-col-2,70px) var(--library-col-3,110px) var(--library-col-4,100px) var(--library-col-5,100px) var(--library-col-6,92px)}.list-row.library-grid-row,.list-head.library-grid-row{max-height:none}.library-has-bottom-actions{padding-bottom:186px}.library-bottom-actions-wrap{width:calc(100vw - 16px);bottom:8px}.library-bottom-actions{justify-content:flex-start;padding:10px}.library-bottom-actions-meta{width:100%;margin-right:0}.library-bottom-actions .btn{flex:calc(50% - 8px)}.trainer-group-create-card .trainer-inline-actions{flex-wrap:wrap;justify-content:flex-start}.trainer-group-picker{width:100%;max-width:none}.trainer-join-code-row{align-items:stretch}.trainer-join-code-row code{justify-content:center;width:100%;font-size:16px}.trainer-student-test-main>span{max-width:100%}.trainer-student-card{flex-direction:column;align-items:stretch}.trainer-student-head-row{display:none}.trainer-student-row,.trainer-student-library-row,.trainer-student-folder-row{max-height:none}.trainer-student-row .row-actions{justify-content:flex-start}#toast-root{max-width:none;left:12px;right:12px}}@media (width<=640px){.test-game-wheel-viewport{border-radius:14px;height:320px}.test-game-wheel-wrap{width:min(100% - 8px,420px)}.test-game-modal.immersive-focus.expanded[data-game-mode=wheel_of_fortune] .test-game-wheel-wrap{width:min(100vh - 140px,100vw - 16px,780px)}.test-game-session.wheel-immersive{gap:8px;padding:10px}.test-game-question-panel.wheel-immersive{max-height:min(34vh,220px)}.test-game-wheel-number{font-size:clamp(12px,3.5vw,16px)}.test-game-flip-focus-card{min-height:210px;padding:12px}.test-game-flip-focus-card p{font-size:clamp(15px,4.2vw,22px)}}
