.learning-visual{display:inline-block;flex:0 0 auto;overflow:visible;vertical-align:middle;pointer-events:none}.learning-nav-icon{--learning-icon-ink: #233c50;--learning-icon-paper: #fffaf0;--learning-icon-accent: var(--jc-primary, #087f78);--learning-icon-gold: #f2ca64}.learning-nav-outline{stroke:var(--learning-icon-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.learning-nav-paper{fill:var(--learning-icon-paper)}.learning-nav-accent{fill:var(--learning-icon-accent)}.learning-nav-gold{fill:var(--learning-icon-gold)}.learning-nav-accent-line{stroke:var(--learning-icon-accent)}.learning-nav-light-line{stroke:#fffaf0}.learning-nav-code{stroke-width:1.8}.learning-level-badge{object-fit:contain;filter:drop-shadow(0 2px 2px rgb(35 60 80 / .09))}.learning-level-badge-sm{width:40px;height:44px}.learning-level-badge-lg{width:88px;height:96px}@media(forced-colors:active){.learning-nav-icon{--learning-icon-ink: CanvasText;--learning-icon-accent: Highlight}.learning-nav-paper{fill:Canvas}.learning-level-badge{filter:none}}.jc-page-jump{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;max-width:100%;color:var(--jc-muted, inherit);font-size:12px;line-height:1.5;vertical-align:middle}.jc-page-jump>label,.jc-page-jump>span:not(.jc-page-jump-error){margin:0;white-space:nowrap;font:inherit}.jc-page-jump .jc-page-jump-input{box-sizing:border-box;flex:0 0 64px;width:64px;min-width:0;max-width:80px;min-height:36px;margin:0;padding:5px 6px;border:1px solid var(--jc-line-strong, currentColor);border-radius:6px;background:var(--jc-surface, Canvas);color:var(--jc-ink, CanvasText);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;text-align:center}.jc-page-jump .jc-page-jump-button{box-sizing:border-box;width:auto;min-width:52px;min-height:36px;margin:0;padding:5px 10px;border:1px solid var(--jc-line-strong, currentColor);border-radius:6px;background:var(--jc-surface, Canvas);color:var(--jc-primary, inherit);font:inherit;font-weight:650;white-space:nowrap;cursor:pointer}.jc-page-jump .jc-page-jump-button:hover:not(:disabled){border-color:var(--jc-primary, currentColor);background:var(--jc-surface-hover, Canvas)}.jc-page-jump :is(input,button):focus-visible{outline:2px solid var(--jc-primary, currentColor);outline-offset:2px}.jc-page-jump :is(input,button):disabled{opacity:.5;cursor:not-allowed}.jc-page-jump .jc-page-jump-input[aria-invalid=true]{border-color:var(--jc-danger, currentColor)}.jc-page-jump .jc-page-jump-error{flex-basis:100%;color:var(--jc-danger, currentColor);text-align:center;overflow-wrap:anywhere}.student-pagination>div,.platform-admin-shell .platform-pagination>div,.sps-code-history-pages{flex-wrap:wrap;min-width:0;overflow:visible}@media(max-width:680px){.student-pagination>div>.jc-page-jump,.platform-pagination>div>.jc-page-jump,.sad-pagination>div>.jc-page-jump,.ps-pagination>div>.jc-page-jump,.sps-code-history-pages>.jc-page-jump{flex-basis:100%;padding-top:4px}}.personal-submissions{min-width:0;container:ps-records / inline-size}.personal-submissions .ps-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:20px;border:1px solid var(--jc-line);border-radius:14px;background:var(--jc-surface)}.personal-submissions .ps-filters>label{display:grid;gap:8px;min-width:130px;flex:1 1 130px;color:var(--jc-muted);font-size:13px}.personal-submissions .ps-filters>.ps-search{flex:2 1 210px}.personal-submissions .ps-filters>.ps-submitter-search{flex:1.5 1 180px}.personal-submissions .ps-filters input,.personal-submissions .ps-filters select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--jc-line-strong);border-radius:8px;background:var(--jc-surface);color:var(--jc-ink);font:inherit;font-size:14px}.personal-submissions .ps-filter-actions{display:flex;gap:8px}.personal-submissions .ps-button,.ps-modal .ps-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-height:40px;margin:0;padding:8px 12px;border:1px solid var(--jc-line-strong);border-radius:8px;background:var(--jc-surface);color:var(--jc-primary);font:inherit;font-size:13px;font-weight:650;line-height:22px;white-space:nowrap;cursor:pointer}.personal-submissions .ps-button.primary{background:var(--jc-primary);border-color:var(--jc-primary);color:#fff}.personal-submissions .ps-button:hover,.ps-modal .ps-button:hover{background:var(--jc-surface-hover);border-color:var(--jc-primary)}.personal-submissions .ps-button.primary:hover{background:var(--jc-primary-hover)}.personal-submissions .ps-button:disabled{opacity:.45;cursor:default}.personal-submissions :is(button,input,select,a):focus-visible,.ps-modal :is(button,pre):focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.personal-submissions .ps-list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 12px}.personal-submissions .ps-list-heading p,.personal-submissions .ps-note{margin:0;color:var(--jc-muted);font-size:13px;line-height:1.7}.personal-submissions .ps-results{overflow:hidden;border:1px solid var(--jc-line);border-radius:14px;background:var(--jc-surface);scroll-margin-top:88px}.personal-submissions .ps-table{width:100%;table-layout:fixed;border-collapse:collapse;color:var(--jc-ink);font-size:14px}.personal-submissions .ps-table th{padding:16px;background:var(--jc-surface-soft);color:var(--jc-muted);text-align:left;font-size:13px;font-weight:600}.personal-submissions .ps-col-result{width:12%}.personal-submissions .ps-col-problem{width:34%}.personal-submissions .ps-col-source{width:22%}.personal-submissions .ps-col-time{width:20%}.personal-submissions .ps-col-action{width:12%}.personal-submissions.ps-teaching .ps-col-submitter{width:17%}.personal-submissions.ps-teaching .ps-col-problem{width:25%}.personal-submissions.ps-teaching .ps-col-source{width:17%}.personal-submissions.ps-teaching .ps-col-time{width:18%}.personal-submissions.ps-teaching .ps-col-action{width:11%}.personal-submissions .ps-table td{min-width:0;padding:18px 16px;border-top:1px solid var(--jc-line);vertical-align:middle;overflow:hidden;overflow-wrap:anywhere}.personal-submissions .ps-table :is(th,td):last-child{padding-right:24px}.personal-submissions .ps-table tbody tr:nth-child(2n){background:var(--jc-surface-soft)}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem){display:grid;min-width:0;gap:5px;color:var(--jc-ink);text-decoration:none}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem)>:is(span,strong,small){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem)>span{color:var(--jc-primary);font-size:12px}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem)>strong{font-size:15px;font-weight:650}.personal-submissions .ps-unavailable-problem small{color:var(--jc-muted);font-size:12px}.personal-submissions .ps-problem a:hover>strong{color:var(--jc-primary);text-decoration:underline}.personal-submissions .ps-source{display:grid;min-width:0;gap:5px}.personal-submissions .ps-source>*{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-submissions .ps-source small{color:var(--jc-muted);font-size:12px;line-height:1.5}.personal-submissions .ps-table time{color:var(--jc-muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.personal-submissions .ps-table :is(.ps-cell-result,.ps-cell-time,.ps-row-action){white-space:nowrap}.personal-submissions .ps-submitter,.ps-modal .ps-submitter{display:grid;min-width:0;justify-items:start;gap:5px;overflow-wrap:anywhere}.personal-submissions .ps-submitter-heading,.ps-modal .ps-submitter-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px}.personal-submissions .ps-table .ps-submitter :is(strong,small){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-submissions .ps-submitter strong,.ps-modal .ps-submitter strong{font-size:14px;font-weight:650}.personal-submissions .ps-submitter small,.ps-modal .ps-submitter small{color:var(--jc-muted);font-size:12px;line-height:1.5}.personal-submissions .ps-submitter-role,.ps-modal .ps-submitter-role{padding:2px 7px;border:1px solid var(--jc-line);border-radius:6px;background:var(--jc-surface-soft);color:var(--jc-muted);font-size:12px;line-height:1.5}.ps-result{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.ps-result .ps-result-badge{display:inline-flex;padding:4px 8px;border:1px solid;border-radius:7px;font-size:12px;font-weight:650;line-height:1.5;white-space:nowrap}.ps-result .ps-result-badge.accepted{color:#087650;background:#eaf8f1;border-color:#bce3d1}.ps-result .ps-result-badge.unpassed{color:#ae3f32;background:#fff1ee;border-color:#f0d1ca}.ps-result .ps-result-badge.pending{color:#7c6429;background:#fff8e5;border-color:#e8dcae}.ps-result>span{padding-left:2px;color:var(--jc-muted);font-size:12px}.personal-submissions .ps-loading,.ps-error{padding:32px 24px;color:var(--jc-muted);text-align:center}.ps-error p{margin:0 0 14px}.personal-submissions .ps-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0;color:var(--jc-muted);font-size:13px}.personal-submissions .ps-pagination>div{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}.ps-modal-backdrop{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:24px;background:#14273985}.ps-modal{display:flex;flex-direction:column;width:min(960px,100%);max-height:calc(100dvh - 48px);overflow:hidden;border:1px solid var(--jc-line);border-radius:16px;background:var(--jc-surface);color:var(--jc-ink);box-shadow:0 20px 64px #10233330}.ps-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--jc-line)}.ps-modal-header>div{min-width:0}.ps-modal-header span{color:var(--jc-muted);font-size:13px}.ps-modal-header h2{margin:7px 0 0;font-size:22px;overflow-wrap:anywhere}.ps-modal-body{overflow:auto;overscroll-behavior:contain;padding:24px;min-height:0}.ps-modal .ps-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:18px;border:1px solid var(--jc-line);border-radius:10px;background:var(--jc-surface-soft)}.ps-modal .ps-detail-meta dt{margin-bottom:7px;color:var(--jc-muted);font-size:12px}.ps-modal .ps-detail-meta dd{margin:0;font-size:14px;overflow-wrap:anywhere}.ps-modal h3{margin:22px 0 10px;font-size:16px}.ps-modal .ps-feedback{margin:18px 0;line-height:1.7}.ps-modal .ps-feedback-detail{padding:16px;background:var(--jc-surface-soft);border:1px solid var(--jc-line);border-radius:8px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.ps-modal .ps-code{min-height:160px;margin:0;padding:20px;border-radius:10px;background:#0b1120;color:#e0eaf7;font:14px/1.8 Consolas,monospace;overflow:auto;tab-size:4}.ps-modal .ps-muted{color:var(--jc-muted)}@container ps-records (max-width: 1100px){.personal-submissions .ps-table{font-size:13px}.personal-submissions .ps-table :is(th,td){padding:12px 8px}.personal-submissions .ps-table :is(th,td):last-child{padding-right:12px}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem)>strong{font-size:14px}.personal-submissions .ps-table .ps-button{min-height:36px;padding:6px 9px}.personal-submissions:not(.ps-teaching) .ps-col-result{width:14%}.personal-submissions:not(.ps-teaching) .ps-col-problem{width:34%}.personal-submissions:not(.ps-teaching) .ps-col-source{width:19%}.personal-submissions:not(.ps-teaching) .ps-col-time{width:22%}.personal-submissions:not(.ps-teaching) .ps-col-action{width:11%}}@container ps-records (max-width: 1080px){.personal-submissions.ps-teaching .ps-table,.personal-submissions.ps-teaching .ps-table tbody{display:block}.personal-submissions.ps-teaching .ps-table thead,.personal-submissions.ps-teaching .ps-table colgroup{display:none}.personal-submissions.ps-teaching .ps-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px;border-top:1px solid var(--jc-line)}.personal-submissions.ps-teaching .ps-table tr:first-child{border-top:0}.personal-submissions.ps-teaching .ps-table td{display:block;padding:0;border:0;min-width:0}.personal-submissions.ps-teaching .ps-table td.ps-problem{grid-column:1;grid-row:2}.personal-submissions.ps-teaching .ps-table td.ps-cell-result{grid-column:2;grid-row:2}.personal-submissions.ps-teaching .ps-table td.ps-cell-submitter{grid-column:1 / -1;grid-row:1;padding-bottom:12px;border-bottom:1px solid var(--jc-line)}.personal-submissions.ps-teaching .ps-table td.ps-cell-source{grid-column:1 / -1}.personal-submissions.ps-teaching .ps-source{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.personal-submissions.ps-teaching .ps-table td.ps-cell-time{grid-column:1;align-self:center}.personal-submissions.ps-teaching .ps-table td.ps-row-action{grid-column:2;justify-self:end;padding:0}.personal-submissions.ps-teaching .ps-cell-submitter .ps-submitter{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.personal-submissions.ps-teaching .ps-problem :is(a,.ps-unavailable-problem)>:is(strong,small),.personal-submissions.ps-teaching .ps-source>*{overflow:visible;text-overflow:clip;white-space:normal}}@container ps-records (max-width: 899px){.personal-submissions .ps-table,.personal-submissions .ps-table tbody{display:block}.personal-submissions .ps-table thead,.personal-submissions .ps-table colgroup{display:none}.personal-submissions .ps-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px;border-top:1px solid var(--jc-line)}.personal-submissions .ps-table tr:first-child{border-top:0}.personal-submissions .ps-table td{display:block;padding:0;border:0;min-width:0}.personal-submissions .ps-table td.ps-problem{grid-column:1;grid-row:1}.personal-submissions .ps-table td.ps-cell-result{grid-column:2;grid-row:1}.personal-submissions .ps-table td.ps-cell-submitter{grid-column:1 / -1;grid-row:1;padding-bottom:12px;border-bottom:1px solid var(--jc-line)}.personal-submissions.ps-teaching .ps-table :is(td.ps-problem,td.ps-cell-result){grid-row:2}.personal-submissions .ps-table td.ps-cell-source{grid-column:1 / -1}.personal-submissions .ps-source{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.personal-submissions .ps-table td.ps-cell-time{grid-column:1;align-self:center}.personal-submissions .ps-table td.ps-row-action{grid-column:2;justify-self:end;padding:0}.personal-submissions .ps-cell-submitter .ps-submitter{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.personal-submissions .ps-problem :is(a,.ps-unavailable-problem)>:is(strong,small),.personal-submissions .ps-source>*{overflow:visible;text-overflow:clip;white-space:normal}}@media(max-width:560px){.personal-submissions .ps-filters{gap:12px;padding:16px}.personal-submissions .ps-filters>.ps-search{flex-basis:100%}.personal-submissions .ps-filters>label{flex-basis:calc(50% - 12px);min-width:0}.personal-submissions .ps-filter-actions{flex:1 1 calc(50% - 12px)}.personal-submissions .ps-filter-actions button{flex:1}.personal-submissions .ps-list-heading p{font-size:12px}.personal-submissions .ps-pagination{justify-content:center}.personal-submissions .ps-pagination>div{gap:8px}.personal-submissions .ps-table tr{gap:14px 10px;padding:16px}.personal-submissions .ps-note{font-size:12px}.ps-modal-backdrop{padding:12px}.ps-modal{max-height:calc(100dvh - 24px)}.ps-modal-header,.ps-modal-body{padding:16px}.ps-modal-header h2{font-size:18px}.ps-modal .ps-detail-meta{grid-template-columns:minmax(0,1fr)}}.teaching-dashboard{min-width:0;padding:24px;color:var(--jc-ink, #172033)}.teaching-dashboard *,.teaching-dashboard *:before,.teaching-dashboard *:after{box-sizing:border-box}.teaching-dashboard button,.teaching-dashboard input,.teaching-dashboard select,.teaching-dashboard textarea{font:inherit}.teaching-dashboard button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 13px;border:1px solid var(--jc-line, #d7e2e9);border-radius:8px;background:var(--jc-surface, white);color:var(--jc-ink, #244355);font-size:14px;font-weight:650;cursor:pointer}.teaching-dashboard button:hover:not(:disabled){background:var(--jc-primary-soft, #edf6f5)}.teaching-dashboard button:disabled{opacity:.5;cursor:default}.teaching-dashboard button:focus-visible,.teaching-dashboard input:focus-visible,.teaching-dashboard select:focus-visible,.teaching-dashboard textarea:focus-visible{outline:3px solid var(--jc-primary, #087e77);outline-offset:2px}.teaching-dashboard .teaching-primary,.teaching-dashboard .teaching-primary:hover:not(:disabled){color:#fff;background:var(--jc-primary, #087e77);border-color:var(--jc-primary, #087e77)}.teaching-heading,.teaching-list-head,.teaching-activity-title,.teaching-dialog>header,.teaching-code-detail>header,.teaching-progress-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.teaching-heading{margin-bottom:20px}.teaching-heading h1{margin:7px 0;font-size:26px}.teaching-heading p,.teaching-dialog header p{margin:5px 0 0;color:var(--jc-muted, #64748b);font-size:14px;line-height:1.7}.teaching-kicker{color:var(--jc-primary, #087e77);font-size:13px;font-weight:700}.teaching-tabs,.teaching-actions,.teaching-filters,.teaching-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.teaching-tabs{margin-bottom:18px}.teaching-tabs button[aria-pressed=true]{color:var(--jc-primary, #087e77);border-color:var(--jc-primary, #087e77);background:var(--jc-primary-soft, #e7f5f2)}.teaching-list-head{margin-bottom:12px}.teaching-dashboard input:not([type=checkbox]),.teaching-dashboard select,.teaching-dashboard textarea{min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--jc-line, #cbd8e0);border-radius:7px;background:#fff;color:inherit;font-size:14px}.teaching-filters input{width:min(320px,100%)}.teaching-help{margin:12px 0 18px;padding:11px 14px;background:var(--jc-primary-soft, #f0f7f6);border-radius:8px;color:var(--jc-muted, #617583);font-size:13px;line-height:1.8}.teaching-notice,.teaching-error{padding:12px 14px;border-radius:8px;font-size:14px;line-height:1.7}.teaching-notice{color:#176c58;background:#eaf8f1}.teaching-error{color:#973f32;background:#fff1ee}.teaching-error button{margin-left:12px}.teaching-activities{display:grid;gap:14px}.teaching-activity{padding:20px;background:#fff;border:1px solid var(--jc-line, #d7e2e9);border-radius:12px}.teaching-activity h2{margin:0 0 4px;font-size:19px;overflow-wrap:anywhere}.teaching-activity-title small,.teaching-meta,.teaching-activity>p,.teaching-muted{color:var(--jc-muted, #64748b)}.teaching-activity>p{margin:12px 0;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.teaching-meta{margin-bottom:17px;font-size:13px;gap:16px}.teaching-badge{flex:0 0 auto;padding:5px 9px;border-radius:6px;background:#f0f2f5;color:#64748b;font-size:13px}.teaching-badge.is-public{background:#e8f7ef;color:#137855}.teaching-empty{padding:35px 18px;text-align:center;color:var(--jc-muted, #718291);line-height:1.8}.teaching-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:#0f172a73}.teaching-dialog{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 44px);background:#fff;border:1px solid var(--jc-line, #d7e2e9);border-radius:14px;box-shadow:0 20px 60px #0f172a33;overflow:hidden}.teaching-dialog>header{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid var(--jc-line, #d7e2e9)}.teaching-dialog h2{margin:0;font-size:22px;overflow-wrap:anywhere}.teaching-dialog form{min-height:0;display:flex;flex-direction:column}.teaching-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 24px}.teaching-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 24px;border-top:1px solid var(--jc-line, #d7e2e9);flex:0 0 auto}.teaching-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.teaching-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.teaching-form-grid>label{display:grid;gap:6px;font-size:14px;font-weight:650}.teaching-form-grid .teaching-wide{grid-column:1 / -1}.teaching-form-grid textarea{resize:vertical;width:100%}.teaching-picker{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.teaching-picker>section{min-width:0}.teaching-picker h3{margin:0 0 12px;font-size:15px}.teaching-picker>section>input{width:100%}.teaching-picker-list,.teaching-selected-list{max-height:330px;overflow:auto;overscroll-behavior:contain;margin-top:10px;border:1px solid var(--jc-line, #d7e2e9);border-radius:8px}.teaching-picker-list>label{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--jc-line, #e6edf0);cursor:pointer}.teaching-picker-list>label:last-child{border:0}.teaching-picker-list input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--jc-primary, #087e77)}.teaching-picker-list b,.teaching-selected-problem b{font-size:14px;overflow-wrap:anywhere}.teaching-picker-list small,.teaching-selected-problem small{display:block;margin-top:4px;font-size:12px;color:var(--jc-muted, #64748b)}.teaching-picker-list>p,.teaching-selected-list>p{padding:12px}.teaching-selected-problem{padding:12px;border-bottom:1px solid var(--jc-line, #e6edf0)}.teaching-selected-problem:last-child{border:0}.teaching-selected-controls{display:flex;gap:6px;align-items:center;margin-top:8px}.teaching-selected-controls label{display:flex;gap:7px;align-items:center;margin-right:auto;font-size:12px}.teaching-selected-controls input{width:76px}.teaching-selected-controls button{padding:6px 9px;min-height:34px;font-size:12px}.teaching-progress-dialog{width:min(1280px,100%)}.teaching-progress-toolbar{margin-bottom:16px;font-size:14px}.teaching-progress-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.teaching-progress-filters input{width:min(260px,100%)}.teaching-table-wrap{overflow:auto;max-height:420px;border:1px solid var(--jc-line, #d7e2e9);border-radius:8px}.teaching-table-wrap table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.teaching-table-wrap th,.teaching-table-wrap td{padding:12px 14px;min-width:150px;border-bottom:1px solid var(--jc-line, #e6edf0);text-align:left}.teaching-table-wrap th{position:sticky;top:0;background:var(--jc-primary-soft, #f0f7f6);z-index:1}.teaching-table-wrap small{display:block;margin-top:4px;font-size:12px;font-weight:400;color:var(--jc-muted, #64748b)}.teaching-table-wrap button{display:block;min-width:92px}.teaching-dashboard .teaching-passed{background:#e8f7ef;color:#137855;border-color:#c0e8d7}.teaching-code-detail{margin-top:20px;padding:18px;border:1px solid var(--jc-line, #d7e2e9);border-radius:10px}.teaching-code-detail h3{margin:0;font-size:16px}.teaching-code-detail>label{display:flex;align-items:center;gap:12px;margin:15px 0;font-size:14px}.teaching-code-detail pre{margin:0;padding:18px;max-height:350px;overflow:auto;background:#0c1221;color:#e5edf9;border-radius:8px;font-size:14px;line-height:1.7;tab-size:4}.teaching-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--jc-muted, #64748b);font-size:13px}.teaching-pagination>div{display:flex;gap:8px}.teaching-submission-list{display:grid;gap:8px;margin-top:15px}.teaching-submission-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--jc-line, #e6edf0);border-radius:8px}.teaching-submission-list small{display:block;margin-top:4px;color:var(--jc-muted, #64748b)}.teaching-code-view{margin-top:15px}.teaching-code-view>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}@media(max-width:760px){.teaching-dashboard{padding:16px}.teaching-heading,.teaching-list-head,.teaching-progress-toolbar,.teaching-pagination{flex-wrap:wrap}.teaching-progress-filters{width:100%;justify-content:flex-start}.teaching-progress-filters input,.teaching-filters{flex:1 1 100%}.teaching-filters input{flex:1;width:160px}.teaching-backdrop{padding:10px}.teaching-dialog{max-height:calc(100dvh - 20px)}.teaching-dialog>header,.teaching-dialog-body,.teaching-dialog footer{padding:16px}.teaching-form-grid,.teaching-picker{grid-template-columns:1fr}.teaching-code-detail>label{align-items:stretch;flex-direction:column}.teaching-code-detail{padding:12px}.teaching-submission-list article{align-items:stretch;flex-direction:column}}.teaching-dashboard button>svg:not(.learning-nav-icon){flex:0 0 16px;width:16px;height:16px}.teaching-heading{flex-wrap:wrap;gap:18px;margin-bottom:22px}.teaching-heading-copy{display:flex;align-items:center;gap:15px;min-width:0;flex:1 1 360px}.teaching-heading-copy>div{min-width:0}.teaching-heading-illustration{display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;border:1px solid var(--jc-line);border-radius:22px;color:var(--jc-primary);background:var(--jc-surface);box-shadow:0 4px color-mix(in srgb,var(--jc-primary) 10%,transparent)}.teaching-heading-illustration>svg{width:39px;height:39px;stroke-width:1.6}.teaching-heading h1{margin:4px 0;line-height:1.35}.teaching-heading p{font-size:13px}.teaching-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-left:auto}.teaching-heading-actions button{min-height:42px;border-radius:11px}.teaching-heading-actions .teaching-create{padding-inline:17px;box-shadow:0 3px 0 var(--jc-primary-hover)}.teaching-toolbar{display:grid;gap:16px;border:1px solid var(--jc-line);border-radius:16px;padding:16px 18px;background:var(--jc-surface);box-shadow:var(--jc-shadow-xs)}.teaching-toolbar .teaching-tabs{justify-self:start;flex-wrap:nowrap;gap:4px;max-width:100%;margin:0;border-radius:12px;padding:4px;background:var(--jc-primary-soft)}.teaching-toolbar .teaching-tabs button{min-height:42px;border-color:transparent;border-radius:9px;padding:8px 16px;background:transparent;color:var(--jc-muted);white-space:nowrap}.teaching-toolbar .teaching-tabs button[aria-pressed=true]{border-color:var(--jc-line);background:var(--jc-surface);color:var(--jc-primary);box-shadow:0 2px 5px color-mix(in srgb,var(--jc-primary) 10%,transparent)}.teaching-toolbar .teaching-tabs .learning-nav-icon{flex:0 0 23px}.teaching-toolbar .teaching-list-head{margin:0;gap:14px}.teaching-toolbar .teaching-filters{flex:1 1 0;min-width:0;gap:10px}.teaching-search{position:relative;display:flex;align-items:center;flex:1 1 240px;max-width:440px;min-width:0}.teaching-search>svg{position:absolute;left:12px;width:17px;height:17px;color:var(--jc-muted);pointer-events:none}.teaching-dashboard .teaching-search>input{width:100%;min-height:42px;border-radius:10px;padding-left:37px;background:var(--jc-surface)}.teaching-filters>select{flex:0 0 138px;min-height:42px;border-radius:10px;background:var(--jc-surface)}.teaching-result-count{flex:0 0 auto;color:var(--jc-muted);font-size:12px;white-space:nowrap}.teaching-rules{margin:12px 0 18px;border:1px solid color-mix(in srgb,var(--jc-primary) 12%,var(--jc-line));border-radius:12px;background:color-mix(in srgb,var(--jc-primary-soft) 55%,var(--jc-surface));color:var(--jc-muted);font-size:12px;line-height:1.7}.teaching-rules>summary{display:flex;align-items:center;gap:9px;min-height:44px;border-radius:inherit;padding:9px 14px;cursor:pointer;list-style:none}.teaching-rules>summary::-webkit-details-marker{display:none}.teaching-rules>summary>svg{flex:0 0 17px;width:17px;height:17px;color:var(--jc-primary)}.teaching-rules>summary>b{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto;color:var(--jc-primary);font-size:11px}.teaching-rules>summary>b>svg{width:14px;height:14px}.teaching-rules[open]>summary>b>svg{transform:rotate(180deg)}.teaching-rules>summary:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}.teaching-rules>p{margin:0;border-top:1px solid var(--jc-line);padding:10px 14px 12px}.teaching-activities{gap:14px}.teaching-activity{min-width:0;border-radius:16px;padding:17px 20px;background:var(--jc-surface);box-shadow:0 3px color-mix(in srgb,var(--jc-primary) 7%,transparent)}.teaching-activity-title{align-items:flex-start;gap:12px}.teaching-activity-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.teaching-activity-identity>div{min-width:0}.teaching-activity-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--jc-primary-soft)}.teaching-activity h2{font-size:18px;line-height:1.4}.teaching-activity-title small{font-size:11px;overflow-wrap:anywhere}.teaching-activity>.teaching-description{margin:10px 0;font-size:13px;line-height:1.65}.teaching-activity .teaching-meta{gap:8px 18px;margin:12px 0;font-size:12px}.teaching-meta>span{display:inline-flex;align-items:center;gap:5px}.teaching-meta svg{flex:0 0 15px;width:15px;height:15px}.teaching-meta .teaching-lock{border:1px solid var(--jc-line);border-radius:6px;padding:2px 6px;background:var(--jc-surface-soft);font-size:11px}.teaching-contest-schedule{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:-2px 0 12px;color:var(--jc-muted);font-size:12px;line-height:1.7}.teaching-rule-label{flex:0 0 auto;border-radius:6px;padding:1px 7px;background:var(--jc-primary-soft);color:var(--jc-primary);font-size:11px;font-weight:700}.teaching-contest-schedule>span:last-child{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.teaching-contest-schedule svg{flex:0 0 15px;width:15px;height:15px}.teaching-activity .teaching-badge{display:inline-flex;align-items:center;gap:5px;margin-top:4px;border-radius:999px;padding:4px 9px;font-size:11px;white-space:nowrap}.teaching-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.teaching-badge.is-draft{color:#896218;background:#fff4d8}.teaching-badge.is-upcoming{color:var(--jc-primary);background:var(--jc-primary-soft)}.teaching-badge.is-ended,.teaching-badge.is-offline{color:#637081;background:#edf1f5}.teaching-card-actions{gap:8px;border-top:1px solid var(--jc-line);padding-top:12px}.teaching-card-actions>button{min-height:38px;border-radius:9px;font-size:12px}.teaching-card-actions>button:not(.teaching-primary):not(.teaching-withdraw){color:var(--jc-primary);background:color-mix(in srgb,var(--jc-primary-soft) 32%,var(--jc-surface))}.teaching-card-actions .teaching-status-action{margin-left:auto}.teaching-card-actions .teaching-withdraw{border-color:transparent;color:#996125;background:transparent}.teaching-card-actions .teaching-withdraw:hover:not(:disabled){border-color:#ebd2b5;background:#fff5e8}.teaching-dashboard>.teaching-empty{border:1px dashed var(--jc-line-strong);border-radius:14px;background:var(--jc-surface)}.teaching-dialog>header>div:first-child{min-width:0}.teaching-dialog>header>button{flex-shrink:0;white-space:nowrap}@media(max-width:760px){.teaching-heading-copy{gap:12px}.teaching-heading-illustration{flex-basis:52px;width:52px;height:52px;border-radius:17px}.teaching-heading-illustration>svg{width:32px;height:32px}.teaching-heading h1{font-size:23px}.teaching-heading-actions{margin-left:0}.teaching-toolbar{gap:13px;padding:13px}.teaching-toolbar .teaching-filters{flex-basis:100%}.teaching-search{max-width:none}.teaching-filters>select{flex:1 1 138px}.teaching-result-count{margin-left:auto}.teaching-activity{padding:15px}.teaching-activity-identity{gap:9px}.teaching-activity-icon{flex-basis:40px;width:40px;height:40px;border-radius:12px}.teaching-activity-icon>svg{width:30px;height:30px}.teaching-activity h2{font-size:17px}.teaching-rules>summary{flex-wrap:wrap;gap:6px;padding:9px 11px}.teaching-rules>summary>span{flex:1 1 150px}}@media(max-width:420px){.teaching-dashboard{padding:16px 12px}.teaching-heading h1{font-size:21px}.teaching-toolbar .teaching-tabs{width:100%}.teaching-toolbar .teaching-tabs button{flex:1;padding-inline:7px;font-size:13px}.teaching-activity-title{flex-wrap:wrap;gap:7px}.teaching-activity-identity{flex:1 1 190px}.teaching-activity .teaching-badge{margin-top:0}.teaching-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-card-actions>button{padding-inline:6px;font-size:11px}.teaching-card-actions .teaching-status-action{margin-left:0}}.teaching-progress-dialog{--teaching-student-width: 184px;--teaching-completion-width: 172px;border-radius:20px;background:var(--jc-surface)}.teaching-progress-dialog>header{align-items:flex-start;gap:18px;padding:20px 22px;background:linear-gradient(115deg,var(--jc-surface),color-mix(in srgb,var(--jc-primary-soft) 38%,var(--jc-surface)))}.teaching-progress-heading{display:flex;align-items:flex-start;gap:13px;min-width:0}.teaching-progress-heading>div{min-width:0}.teaching-progress-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid var(--jc-line);border-radius:17px;background:var(--jc-surface);box-shadow:0 3px color-mix(in srgb,var(--jc-primary) 8%,transparent)}.teaching-progress-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;color:var(--jc-primary);font-size:12px;font-weight:700}.teaching-progress-dialog h2{font-size:22px;line-height:1.4}.teaching-progress-dialog header p{font-size:12px;line-height:1.65}.teaching-progress-dialog>header>.teaching-actions{flex:0 0 auto;flex-wrap:nowrap;padding-top:6px}.teaching-progress-dialog button{border-radius:10px;white-space:nowrap}.teaching-progress-dialog>.teaching-dialog-body{padding:18px 22px}.teaching-progress-dialog .teaching-progress-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:13px 14px;border:1px solid var(--jc-line);border-radius:13px;background:var(--jc-surface-soft)}.teaching-progress-summary{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px}.teaching-progress-summary>span{display:inline-flex;align-items:center;gap:5px;min-height:30px;border-radius:8px;padding:4px 8px;background:var(--jc-surface);color:var(--jc-muted);white-space:nowrap}.teaching-progress-summary b{color:var(--jc-ink);font-size:15px}.teaching-progress-summary svg{width:15px;height:15px;color:var(--jc-primary)}.teaching-progress-dialog .teaching-progress-filters{display:flex;flex:1 1 560px;min-width:0;flex-wrap:nowrap;align-items:center;gap:8px}.teaching-progress-query{display:flex;flex:1 1 260px;min-width:0;align-items:center;gap:8px}.teaching-progress-query .teaching-search{flex:1 1 0;max-width:none}.teaching-progress-query .teaching-search input{width:100%;min-height:40px;font-size:13px}.teaching-progress-query>button{flex:0 0 auto;min-height:40px;padding-inline:16px;font-size:13px}.teaching-progress-dialog .teaching-progress-filters>select{flex:0 0 138px;width:138px;min-height:40px;border-radius:10px;background:var(--jc-surface);font-size:13px}.teaching-progress-dialog .teaching-progress-filters>select:last-child{flex-basis:84px;width:84px}.teaching-progress-loading{padding:35px 16px;text-align:center;color:var(--jc-muted)}.teaching-matrix-caption{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px}.teaching-matrix-caption>span{display:inline-flex;align-items:center;gap:6px;color:var(--jc-ink);font-size:13px;font-weight:700}.teaching-matrix-caption svg{width:17px;height:17px;color:var(--jc-primary)}.teaching-matrix-caption small{color:var(--jc-muted);font-size:11px}.teaching-progress-dialog .teaching-table-wrap{max-height:min(440px,52dvh);border-radius:12px;scrollbar-gutter:stable;scrollbar-color:var(--jc-line-strong) var(--jc-surface-soft);background:var(--jc-surface)}.teaching-progress-dialog .teaching-table-wrap:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}.teaching-progress-dialog table{table-layout:fixed;font-size:13px}.teaching-progress-dialog col.teaching-student-col{width:var(--teaching-student-width)}.teaching-progress-dialog col.teaching-completion-col{width:var(--teaching-completion-width)}.teaching-progress-dialog .teaching-table-wrap th,.teaching-progress-dialog .teaching-table-wrap td{min-width:0;padding:12px;vertical-align:middle;border-right:1px solid var(--jc-line);overflow-wrap:anywhere}.teaching-progress-dialog .teaching-table-wrap tr>:last-child{border-right:0}.teaching-progress-dialog .teaching-table-wrap thead th{top:0;z-index:3;padding-block:13px;background:var(--jc-primary-soft);color:var(--jc-ink)}.teaching-problem-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;outline-offset:2px}.teaching-problem-name:focus{display:block;outline:2px solid var(--jc-primary);border-radius:3px}.teaching-progress-dialog .teaching-table-wrap small{font-size:11px;line-height:1.5}.teaching-progress-dialog .teaching-table-wrap tbody tr{--teaching-row-surface: var(--jc-surface)}.teaching-progress-dialog .teaching-table-wrap tbody tr:nth-child(2n){--teaching-row-surface: color-mix(in srgb, var(--jc-primary-soft) 18%, var(--jc-surface))}.teaching-progress-dialog .teaching-table-wrap tbody tr:hover,.teaching-progress-dialog .teaching-table-wrap tbody tr.is-selected{--teaching-row-surface: color-mix(in srgb, var(--jc-primary-soft) 45%, var(--jc-surface))}.teaching-progress-dialog .teaching-table-wrap tbody th,.teaching-progress-dialog .teaching-table-wrap tbody td{background:var(--teaching-row-surface)}.teaching-progress-dialog .teaching-table-wrap .teaching-student-cell{position:sticky;left:0;z-index:2}.teaching-progress-dialog .teaching-table-wrap tbody .teaching-student-cell{top:auto;font-weight:400}.teaching-progress-dialog .teaching-table-wrap .teaching-completion-cell{position:sticky;left:var(--teaching-student-width);z-index:2;box-shadow:4px 0 6px -5px var(--jc-muted)}.teaching-progress-dialog .teaching-table-wrap thead .teaching-student-cell,.teaching-progress-dialog .teaching-table-wrap thead .teaching-completion-cell{z-index:4}.teaching-student-cell>b{font-size:14px;line-height:1.5}.teaching-completion-label{display:block;font-size:12px}.teaching-completion-label b{font-size:15px;color:var(--jc-primary)}.teaching-completion-track{display:block;height:5px;overflow:hidden;margin:7px 0;border-radius:99px;background:var(--jc-primary-soft)}.teaching-completion-track>i{display:block;height:100%;border-radius:inherit;background:var(--jc-primary)}.teaching-completion-cell small b{color:var(--jc-ink);font-weight:650}.teaching-progress-dialog .teaching-result-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;width:100%;max-width:126px;min-height:57px;padding:8px 10px;text-align:center;font-size:13px}.teaching-result-cell>span,.teaching-result-cell>small{display:flex;align-items:center;justify-content:center;gap:4px}.teaching-result-cell>span>svg{width:14px;height:14px}.teaching-result-cell>small>svg{width:12px;height:12px}.teaching-progress-dialog .teaching-result-cell small{margin:0;color:inherit;opacity:.8}.teaching-progress-dialog .teaching-result-cell.teaching-passed{border-color:#bee5d5;background:#e9f7ef;color:#137855}.teaching-progress-dialog .teaching-result-cell.is-attempted{border-color:#efdbc0;background:#fff7eb;color:#8d5518}.teaching-progress-dialog .teaching-result-cell.is-unscored{border-color:var(--jc-line);background:var(--jc-surface-soft);color:var(--jc-muted)}.teaching-progress-dialog .teaching-result-cell:hover{box-shadow:0 2px 5px color-mix(in srgb,var(--jc-primary) 12%,transparent);filter:brightness(.98)}.teaching-progress-dialog .teaching-result-cell[aria-pressed=true]{outline:2px solid var(--jc-primary);outline-offset:2px}.teaching-unsubmitted{display:inline-block;border:1px dashed var(--jc-line);border-radius:9px;padding:8px 12px;background:var(--jc-surface-soft);color:var(--jc-muted);font-size:12px;white-space:nowrap}.teaching-progress-dialog .teaching-empty{display:grid;justify-items:center;gap:10px;margin:0;font-size:13px}.teaching-progress-dialog .teaching-empty>svg{width:30px;height:30px;color:var(--jc-primary)}.teaching-progress-dialog .teaching-progress-pagination{justify-content:space-between;margin:0;padding:13px 22px;background:var(--jc-surface)}.teaching-progress-pagination>span{min-width:0}.teaching-progress-pagination>span>b{color:var(--jc-ink);font-size:13px}.teaching-progress-pagination small{display:block;margin-top:3px;font-size:11px;line-height:1.5}.teaching-progress-pagination>div{flex:0 0 auto}.teaching-progress-dialog .teaching-pagination button{min-height:36px;padding:7px 11px;font-size:12px;color:var(--jc-primary);background:var(--jc-primary-soft);border-color:transparent}.teaching-progress-dialog .teaching-pagination button:disabled{opacity:1;color:var(--jc-muted);border-color:var(--jc-line);background:var(--jc-surface-soft)}.teaching-progress-dialog .teaching-code-detail{margin-top:18px;padding:16px;border-radius:14px;background:var(--jc-surface-soft)}.teaching-progress-dialog .teaching-code-detail>header{align-items:flex-start}.teaching-code-detail>header>div{min-width:0}.teaching-progress-dialog .teaching-code-detail h3{margin-top:5px;overflow-wrap:anywhere;line-height:1.5;font-size:15px}.teaching-progress-dialog .teaching-code-detail>header>button{flex:0 0 auto;min-height:34px;font-size:12px}.teaching-detail-kicker{display:inline-flex;align-items:center;gap:5px;color:var(--jc-primary);font-size:12px;font-weight:650}.teaching-detail-kicker svg{width:15px;height:15px}.teaching-progress-dialog .teaching-submission-list article{background:var(--jc-surface);border-radius:10px;padding:11px 13px;font-size:13px}.teaching-progress-dialog .teaching-submission-list article.is-selected{border-color:var(--jc-primary);box-shadow:inset 3px 0 0 var(--jc-primary)}.teaching-progress-dialog .teaching-submission-list button{color:var(--jc-primary);background:var(--jc-primary-soft);border-color:transparent;font-size:12px}.teaching-progress-dialog .teaching-submission-list small{font-size:12px}.teaching-submission-status{display:inline-block;border-radius:5px;padding:2px 6px;color:var(--jc-primary);background:var(--jc-primary-soft);font-size:11px;font-weight:700}.teaching-submission-status.is-passed{color:#137855;background:#e9f7ef}.teaching-progress-dialog .teaching-code-view>div{align-items:flex-start;font-size:12px}.teaching-progress-dialog .teaching-code-view>div>b{min-width:0;overflow-wrap:anywhere}.teaching-progress-dialog .teaching-code-view button{flex:0 0 auto;font-size:12px}@media(max-width:760px){.teaching-progress-dialog{--teaching-student-width: 128px;border-radius:16px}.teaching-progress-dialog>header{flex-wrap:wrap;gap:10px;padding:15px}.teaching-progress-heading{gap:10px;width:100%}.teaching-progress-icon{flex-basis:42px;width:42px;height:42px;border-radius:13px}.teaching-progress-icon>svg{width:30px;height:30px}.teaching-progress-dialog h2{font-size:18px}.teaching-progress-dialog header p{font-size:11px}.teaching-progress-dialog>header>.teaching-actions{margin-left:auto;padding:0}.teaching-progress-dialog>header>.teaching-actions>button{min-height:34px;padding:6px 10px;font-size:12px}.teaching-progress-dialog>.teaching-dialog-body{padding:13px}.teaching-progress-dialog .teaching-progress-toolbar{gap:10px;padding:10px;margin-bottom:14px}.teaching-progress-dialog .teaching-progress-filters{flex-basis:100%;flex-wrap:wrap;gap:8px}.teaching-progress-query{flex-basis:100%}.teaching-progress-dialog .teaching-progress-filters>select{flex:1 1 130px;width:auto}.teaching-progress-dialog .teaching-progress-filters>select:last-child{flex:0 0 84px}.teaching-progress-dialog .teaching-table-wrap{max-height:min(390px,48dvh)}.teaching-progress-dialog .teaching-table-wrap .teaching-completion-cell{left:auto;box-shadow:none}.teaching-progress-dialog .teaching-table-wrap tbody .teaching-completion-cell{position:static}.teaching-progress-dialog .teaching-table-wrap thead .teaching-completion-cell{z-index:3}.teaching-progress-dialog .teaching-table-wrap .teaching-student-cell{box-shadow:4px 0 6px -5px var(--jc-muted)}.teaching-progress-dialog .teaching-progress-pagination{gap:9px;padding:11px 13px}.teaching-progress-dialog .teaching-progress-pagination>div{margin-left:auto}.teaching-progress-dialog .teaching-code-detail{padding:12px}.teaching-progress-dialog .teaching-code-detail>header{flex-wrap:wrap;gap:8px}.teaching-progress-dialog .teaching-code-detail>header>button{margin-left:auto}.teaching-progress-dialog .teaching-submission-list article{gap:9px}.teaching-progress-dialog .teaching-submission-list button{align-self:flex-end}}.canvas-stage-slot,.canvas-stage,.canvas-stage-surface{min-width:0;min-height:0}.canvas-stage-slot{width:100%}.canvas-stage{background:#fff}.canvas-stage-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-height:38px;padding:3px 6px;background:#f5f8fa;border-bottom:1px solid #d8e3ee}.canvas-stage-toolbar>[role=alert]{margin-right:auto;color:#b42318;font-size:13px}.canvas-stage .canvas-stage-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;border:1px solid #cbd8e6;border-radius:4px;color:#365267;background:#fff;cursor:pointer}.canvas-stage .canvas-stage-icon:hover:not(:disabled){background:#e5f4f2;color:#087f7b}.canvas-stage .canvas-stage-icon:focus-visible{outline:2px solid #2177ad;outline-offset:2px}.canvas-stage .canvas-stage-icon:disabled{opacity:.5;cursor:not-allowed}.canvas-stage .canvas-stage-icon[aria-pressed=true]{border-color:#087f7b;color:#087f7b}.canvas-stage.is-expanded{position:fixed;inset:0;z-index:10000;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0;overflow:hidden}.canvas-stage.is-expanded .canvas-stage-surface{overflow:hidden}.canvas-stage.is-expanded .canvas-stage-surface>.canvas-view{height:100%}.canvas-stage.is-expanded .canvas-stage-surface>.canvas,.canvas-stage.is-expanded .canvas-stage-surface>.canvas-view>.canvas{display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;border:0;border-radius:0;aspect-ratio:auto}.canvas-stage-footer{max-height:40vh;overflow:auto;border-top:1px solid #cbd8e6;background:#f5f8fa}.canvas-stage-notice{padding:8px 16px;color:#b42318;font-size:13px;overflow-wrap:anywhere}.canvas-stage-notice-overlay{position:absolute;z-index:3;top:calc(env(safe-area-inset-top) + 48px);right:max(12px,env(safe-area-inset-right));width:min(430px,calc(100% - 24px));max-height:min(38vh,300px);overflow:auto;border:1px solid var(--jc-line, #cbd8e6);border-radius:8px;background:var(--jc-surface, #fff);box-shadow:0 4px 18px #0f172a24}.canvas-stage-notice-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:6px 8px}.canvas-stage-notice-actions button{min-height:32px;border:1px solid var(--jc-line, #cbd8e6);border-radius:5px;padding:5px 8px;color:var(--jc-primary, #087f78);background:var(--jc-surface, #fff);font:inherit;cursor:pointer}.canvas-stage-notice>:first-child{margin-top:0}.canvas-stage-notice>:last-child{margin-bottom:0}.canvas-fullscreen-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,1fr) auto;align-items:end;gap:10px;padding:10px 16px;width:min(100%,1000px);margin:auto}.canvas-fullscreen-input label{display:grid;gap:4px;min-width:0;color:#365267;font-size:13px}.canvas-fullscreen-input textarea{width:100%;height:60px;min-height:60px;padding:6px 8px;border:1px solid #9fbfc9;border-radius:4px;background:#fff;color:#17324d;font:inherit;resize:none}.canvas-fullscreen-input button{min-height:36px;border:1px solid #087f7b;border-radius:4px;padding:6px 12px;color:#fff;background:#087f7b;font-weight:700;cursor:pointer}.canvas-fullscreen-input button:disabled{opacity:.45;cursor:not-allowed}.canvas-fullscreen-input textarea:focus-visible{outline:2px solid #2177ad;outline-offset:1px}.canvas-fullscreen-input.canvas-fullscreen-input-batch{grid-template-columns:minmax(0,1fr) auto}.canvas-fullscreen-input-batch>button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}@media(max-width:600px){.canvas-fullscreen-input{grid-template-columns:minmax(0,1fr) auto;padding:8px}.canvas-fullscreen-input>label:first-child{grid-column:1 / -1}.canvas-fullscreen-input-batch>label:first-child{grid-column:auto}.canvas-fullscreen-input textarea{height:44px;min-height:44px}}.editor-line-numbers .editor-line-number{display:inline-block;width:100%}.editor-line-numbers .editor-line-number.has-input-issue{border-radius:3px;background:#4b2632;color:#fecdd3;box-shadow:inset 3px 0 #fb7185;font-weight:800}.command-palette{--command-palette-accent: #198b85;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;height:var(--command-palette-height, 180px);max-height:var(--command-palette-height, 180px);overflow:hidden;border:1px solid #b9c9d8;border-top:3px solid var(--command-palette-accent);border-radius:7px;background:#fff;color:#243c54;font-family:inherit;font-size:13px;text-align:left;isolation:isolate;container-type:inline-size;container-name:command-palette}.command-palette[data-layout=floating]{position:fixed;z-index:150;box-shadow:0 12px 32px #1d2e4138}.command-palette-cpp{--command-palette-accent: #8b5cf6}.command-palette-math{--command-palette-accent: #d19a16}.command-palette-sound{--command-palette-accent: #e68636}.command-palette-color{--command-palette-accent: #d58e31}.command-palette-head{display:flex;align-items:center;flex:0 0 36px;min-height:36px;gap:3px;border-bottom:1px solid #e1e8ef;padding:0 5px 0 8px;background:#f5f8fb}.command-palette-drag-handle{display:flex;align-items:center;align-self:stretch;flex:1;min-width:0;gap:5px}.command-palette-drag-handle strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.command-palette[data-layout=floating] .command-palette-drag-handle{touch-action:none;user-select:none;cursor:grab}.command-palette.is-dragging .command-palette-drag-handle{cursor:grabbing}.command-palette-grip{color:#8293a4;font-size:20px;font-weight:400}.command-palette .command-palette-head>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;margin:0;border:1px solid transparent;border-radius:4px;padding:0;background:transparent;color:#536d84;font:21px/1 system-ui,sans-serif;cursor:pointer}.command-palette .command-palette-head>button:hover{border-color:#cad7e3;background:#fff;color:#1d536a}.command-palette button:focus-visible,.command-palette-drag-handle:focus-visible{outline:2px solid #2277a5;outline-offset:-2px}.command-palette-content{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}.command-palette .palette-search{flex:0 0 auto}.command-palette .palette-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}@media(prefers-reduced-motion:reduce){.command-palette *{scroll-behavior:auto}}.click-fill-editor.editor-stack{grid-template-rows:auto minmax(240px,1fr)}.click-fill-editor.editor-stack>.fill-editor-wrap{min-height:240px}.click-fill-editor .fill-textarea,.click-fill-editor .fill-highlight,.click-fill-editor .editor-line-numbers{min-height:0}.click-fill-editor .click-command-workbench{z-index:auto}.click-fill-editor .click-framework-notice{margin:4px 0 0;border-left:2px solid #087f7b;border-radius:3px;padding:3px 8px;background:#f1faf8;color:#35635f;font-size:12px;line-height:18px}.command-palette .palette-search{display:flex;flex:0 0 30px;align-items:center;gap:6px;min-width:0;min-height:30px;margin:4px 8px 2px;border:1px solid #cbd8e6;border-radius:5px;padding:0 8px;background:#fff;color:#63768b}.command-palette .palette-search:focus-within{border-color:#087f7b;outline:2px solid #087f7b22}.command-palette .palette-search input{width:100%;min-width:0;height:26px;border:0;padding:0;outline:0;background:transparent;color:#17324d;font:inherit;font-size:13px}.command-palette .palette-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 6px;scrollbar-width:thin;scrollbar-color:#b7c7d7 transparent}.command-palette .palette-command-section+.palette-command-section{margin-top:10px}.command-palette .palette-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px;line-height:18px;margin-bottom:2px;color:#63768b;font-size:12px}.command-palette .palette-command-section.recommended .palette-section-title{color:#08766e}.command-palette .palette-section-title span{font-size:11px}.command-palette .palette-command-grid,.command-palette .palette-assets{display:grid;align-content:start;gap:6px}.command-palette .palette-command-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.command-palette .palette-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.command-palette .palette-command-card,.command-palette .palette-asset{display:grid;align-content:center;gap:3px;min-width:0;min-height:50px;border:1px solid #d5dfe9;border-left:3px solid #3195c7;border-radius:5px;padding:6px 9px;overflow:hidden;background:#fff;color:#1d3349;text-align:left;box-shadow:none;font:inherit;cursor:pointer}.command-palette .palette-command-card.cpp{border-left-color:#7c5ce0}.command-palette .palette-command-card.math{border-left-color:#d39a13}.command-palette .palette-command-card.sound{border-left-color:#e67c2b}.command-palette .palette-command-card.recommended{border-color:#85c4bd;border-left-color:#087f7b;background:#f1faf8}.command-palette .palette-command-card:hover,.command-palette .palette-asset:hover{background:#eaf6f5;border-color:#60aaa5}.command-palette .palette-command-card>span{display:flex;align-items:center;gap:5px;min-width:0}.command-palette .palette-command-card strong,.command-palette .palette-asset strong{overflow:hidden;color:#1d3349;font-size:13px;line-height:17px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.command-palette .palette-command-card em{flex:0 0 auto;border-radius:3px;padding:1px 3px;color:#08766e;background:#d9f1ed;font-size:9px;font-style:normal}.command-palette .palette-command-card code,.command-palette .palette-asset code{overflow:hidden;color:#64758a;font:11px/14px Consolas,Liberation Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.command-palette .palette-empty{grid-column:1 / -1;margin:10px 0;color:#6c7f94;font-size:13px}.command-palette .palette-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:6px}.command-palette .palette-colors button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:66px;min-width:0;border:1px solid #d5dfe9;border-radius:5px;padding:6px 2px;color:#33465a;background:#fff;font:inherit;cursor:pointer}.command-palette .palette-colors button:hover{border-color:#087f7b;background:#f1faf8}.command-palette .palette-colors button>span{width:20px;height:20px;border:1px solid #aeb8c4;border-radius:4px}.command-palette .palette-colors button strong{font-size:12px;line-height:14px}.command-palette .palette-colors button small{font-size:10px;line-height:12px}.command-palette .palette-scroll button:focus-visible{outline:2px solid #2177ad;outline-offset:-2px}@container command-palette (max-width: 679px){.command-palette .palette-command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container command-palette (max-width: 479px){.command-palette .palette-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container command-palette (max-width: 310px){.command-palette .palette-command-grid,.command-palette .palette-assets{grid-template-columns:minmax(0,1fr)}}.problem-workspace .editor-panel.single-editor-mode{grid-template-rows:auto minmax(0,1fr)}.compact-command-toolbar button,.command-palette .command-page-tools>button,.command-palette .command-more-footer>button{border:1px solid var(--jc-line-strong, #cbd8e6);border-radius:6px;background:var(--jc-surface, #fff);color:var(--jc-primary, #087f7b);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer}.compact-command-toolbar button:hover,.command-palette .command-page-tools>button:hover,.command-palette .command-more-footer>button:hover{background:var(--jc-primary-soft, #e5f7f4)}.compact-command-toolbar .code-zoom-controls button{min-width:36px;min-height:34px;padding:4px 8px;font-size:14px;font-weight:650}.compact-command-toolbar button:disabled{opacity:.45;cursor:default}.click-fill-editor .compact-command-toolbar{display:flex;gap:10px;min-height:48px;padding:6px 10px}.compact-command-toolbar .code-zoom-controls{margin-left:auto;border:0;padding:0}.compact-command-toolbar .command-toggle{min-height:36px;padding:4px 14px;white-space:nowrap}.command-slot-count{color:#64758a;font-size:12px}.command-palette .command-page-tools{display:flex;align-items:center;gap:6px;padding:4px 8px;flex:0 0 auto}.command-page-tools .palette-search{flex:1;margin:0}.command-palette .command-page-tools>button,.command-palette .command-more-footer>button{padding:5px 8px;min-height:30px;font-size:12px;white-space:nowrap}.command-palette .combined-command-sections{display:grid;align-content:start;gap:10px;grid-template-columns:minmax(0,3fr) minmax(138px,1fr)}.command-palette .command-column{display:block;min-width:0}.command-column-title{display:block;margin:2px 0 5px;font-size:12px;color:#64758a}.command-palette .command-column.cpp{border-left:1px solid var(--jc-line, #d5dfe9);padding-left:10px}.command-palette .command-column.draw .palette-command-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:3px;row-gap:0}.command-palette .command-column.cpp .palette-command-grid{grid-template-columns:minmax(0,1fr);gap:0}.command-palette .command-column .palette-command-card{height:40px;min-height:40px;padding:2px 6px;gap:0;border-radius:3px}.command-palette .combined-command-sections.more{grid-template-columns:minmax(0,1fr)}.command-palette .command-color-strip{flex:0 0 auto;display:flex;align-items:center;gap:8px;border-top:1px solid var(--jc-line, #d5dfe9);padding:6px 8px}.command-color-strip>strong{font-size:12px}.command-palette .command-color-strip .palette-colors{flex:1;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.command-palette .command-color-strip .palette-colors button{min-height:40px;padding:3px 0;gap:2px}.command-palette .command-color-strip .palette-colors button>span{width:16px;height:16px}.command-color-strip.is-attention{background:var(--jc-primary-soft, #e5f7f4);outline:2px solid var(--jc-primary, #087f7b);outline-offset:-2px}.command-more-footer{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:4px 8px 6px}.command-more-footer>span{color:#64758a;font-size:11px}@container command-palette (max-width: 539px){.command-palette .combined-command-sections.common{gap:8px;grid-template-columns:minmax(0,3fr) minmax(96px,1fr)}.command-palette .command-column.cpp{padding-left:8px}.command-palette .command-column.draw .palette-command-grid{column-gap:3px;row-gap:0}.command-palette .command-column.draw .palette-command-card{padding-inline:4px}}@container command-palette (max-width: 379px){.command-palette .command-color-strip .palette-colors{grid-template-columns:repeat(5,minmax(0,1fr))}}@container command-palette (max-width: 339px){.command-palette .combined-command-sections.common{grid-template-columns:minmax(0,1fr)}.command-palette .command-column.cpp{border-left:0;padding-left:0}.command-palette .command-column.draw .palette-command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container command-palette (max-width: 259px){.command-palette .command-column.draw .palette-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container command-palette (max-width: 179px){.command-palette .command-column.draw .palette-command-grid{grid-template-columns:minmax(0,1fr)}}.command-palette[data-short=true] .command-palette-content{display:block;overflow-y:auto}.command-palette[data-short=true] .palette-scroll{overflow:visible}.problem-workspace .unified-editor-toolbar,.creation-studio .unified-editor-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;min-height:50px;padding:7px 10px;container-type:inline-size;container-name:editor-toolbar}.unified-editor-tools{flex:0 0 auto;min-width:0}.unified-editor-tools:empty{display:none}.unified-editor-tools .compact-command-toolbar{display:flex;align-items:center;gap:6px;min-height:0;padding:0;background:transparent}.unified-editor-tools .command-toggle{width:96px;min-height:36px;padding:4px 5px}.unified-editor-tools .code-zoom-controls{display:flex;gap:4px;margin:0;border:0;padding:0}.unified-editor-tools .code-zoom-controls button{min-width:32px;min-height:36px;padding:4px;font-size:14px}.unified-editor-tools .command-slot-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.unified-editor-tools .compact-zoom-menu{display:none;position:relative}.compact-zoom-menu summary{list-style:none;cursor:pointer;border:1px solid var(--jc-line-strong);border-radius:6px;padding:6px;min-height:36px;color:var(--jc-primary);background:var(--jc-surface)}.compact-zoom-menu summary::-webkit-details-marker{display:none}.compact-zoom-menu>div{position:absolute;top:calc(100% + 5px);left:0;z-index:25;padding:6px;background:var(--jc-surface, white);border:1px solid var(--jc-line);border-radius:6px;box-shadow:0 4px 12px #18263822}.problem-workspace .unified-editor-toolbar .problem-action-row,.creation-studio .unified-editor-toolbar .creation-actions-primary{margin-left:auto;gap:5px;flex-wrap:nowrap}.problem-workspace .unified-editor-toolbar .problem-action-row>button,.creation-studio .unified-editor-toolbar .creation-actions-primary>button{min-width:0;min-height:36px;padding:5px 8px;gap:4px;font-size:13px;line-height:1.4;white-space:nowrap}.problem-workspace .unified-editor-toolbar .action-mark{min-width:0;width:auto;height:auto;padding:0;background:transparent;font-size:11px}.click-fill-editor.has-external-toolbar.editor-stack{grid-template-rows:minmax(240px,1fr)}.click-fill-editor.has-external-toolbar>.click-command-workbench{display:none}.creation-studio .creation-code-panel>.creation-run-notice{padding:4px 10px;text-align:left;white-space:normal}@container editor-toolbar (max-width: 510px){.unified-editor-tools .zoom-inline{display:none}.unified-editor-tools .compact-zoom-menu{display:block}.unified-editor-tools .command-toggle{width:88px}}@container editor-toolbar (max-width: 440px){.unified-editor-tools .command-toggle{width:84px}.problem-workspace .unified-editor-toolbar .problem-action-row{gap:4px}.problem-workspace .unified-editor-toolbar .problem-action-row>button{padding-inline:6px;font-size:12px}}@media(max-width:959px){.problem-workspace .unified-editor-toolbar .problem-action-row>button{min-height:40px}}@media(min-width:960px){.problem-workspace .editor-panel{position:sticky;top:var(--workspace-header-height, 52px);align-self:start;display:flex;flex-direction:column;height:calc(100dvh - var(--workspace-header-height, 52px) - 12px);min-height:200px;overflow:hidden}.problem-workspace .editor-panel>.problem-action-head{position:relative;top:auto;flex:0 0 auto}.problem-workspace .editor-panel>.mode-tabs{flex:0 0 auto}.problem-workspace .editor-panel>.editor-body{flex:1 1 0;min-height:0;overflow:hidden}}@media(min-width:1001px){.creation-studio .creation-code-panel{position:sticky;top:calc(var(--workspace-header-height, 52px) + var(--creation-header-height, 62px) + 12px);align-self:start;display:flex;flex-direction:column;overflow:hidden;height:calc(100dvh - var(--workspace-header-height, 52px) - var(--creation-header-height, 62px) - 24px);min-height:200px}.creation-studio .unified-editor-toolbar{position:relative;top:auto;z-index:18;flex:0 0 auto;background:var(--jc-surface-soft, #f7f9fc)}.creation-studio .creation-code-panel>:is(.mode-tabs,.creation-run-notice){flex:0 0 auto}.creation-studio .creation-editor-body{flex:1 1 0;min-height:0;height:auto;overflow:hidden}}:is(.problem-workspace,.creation-studio) .editor-body :is(.code-editor-wrap,.fill-editor-wrap,.code-textarea,.fill-textarea,.code-highlight,.fill-highlight,.editor-line-numbers){min-height:0}:is(.problem-workspace,.creation-studio) .click-fill-editor.has-external-toolbar.editor-stack{grid-template-rows:minmax(0,1fr)}:is(.problem-workspace,.creation-studio) :is(.fill-textarea,.code-textarea){overscroll-behavior:contain}.command-palette-header-actions{display:flex;flex:0 0 auto}.command-palette-header-actions>button{border:1px solid var(--jc-line, #d5dfe9);border-radius:4px;padding:3px 6px;min-height:28px;background:var(--jc-surface, #fff);color:var(--jc-primary, #087f7b);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}@container command-palette (max-width: 310px){.command-palette-header-actions>button>span{display:none}}.code-input-feedback{flex:0 0 auto;margin:10px 0;border:1px solid #edc997;border-radius:8px;padding:10px 12px;background:#fff8e9;color:#794612;font-size:13px;line-height:1.6}.code-input-feedback>strong{display:block;font-size:14px}.code-input-feedback ul{max-height:160px;margin:6px 0 0;padding:0;overflow:auto;list-style:none}.code-input-feedback li+li{margin-top:4px}.code-input-feedback li>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:4px;padding:5px 6px;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.code-input-feedback li>button:hover{background:#fce9c6}.code-input-feedback li>button>span{min-width:0;overflow-wrap:anywhere}.code-input-feedback li>button>b{flex-shrink:0;color:var(--jc-primary, #087f78)}.code-input-feedback p{margin:4px 0}.code-input-feedback{overflow-wrap:anywhere}.code-input-feedback button:focus-visible{outline:2px solid var(--jc-primary, #087f78);outline-offset:1px}.creation-code-panel>.code-input-feedback{margin:8px 12px}.canvas-stage-notice .code-input-feedback{margin:0}.code-input-feedback.is-compact{display:flex;align-items:center;gap:10px;min-height:42px;margin:8px 12px;padding:6px 8px 6px 12px;line-height:1.25;white-space:nowrap}.code-input-feedback.is-compact>strong{flex:0 0 auto;font-size:13px}.code-input-feedback-summary{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.code-input-feedback-actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:4px}.code-input-feedback-actions>button{min-height:30px;border:0;border-radius:5px;padding:4px 7px;color:var(--jc-primary, #087f78);background:transparent;font:inherit;font-weight:700;cursor:pointer}.code-input-feedback-actions>button:hover{background:#fce9c6}.code-input-feedback-actions>.code-input-feedback-dismiss{width:30px;padding:0;color:#794612;font-size:22px;font-weight:400;line-height:1}@media(max-width:680px){.code-input-feedback.is-compact{gap:6px}.code-input-feedback.is-compact>strong{max-width:45%;overflow:hidden;text-overflow:ellipsis}}.accessible-result-backdrop{position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a7a}.accessible-result-dialog{display:flex;flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 32px);min-width:0;overflow:hidden;padding:0;border:1px solid var(--jc-line, #cad7e2);border-radius:14px;color:var(--jc-ink, #17324d);background:var(--jc-surface, #fff);box-shadow:0 18px 60px #0f172a40;overflow-wrap:anywhere}.accessible-result-header{display:flex;align-items:center;gap:16px;flex:0 0 auto;padding:16px 20px;border-bottom:1px solid var(--jc-line, #cad7e2)}.accessible-result-header h2{flex:1;min-width:0;margin:0;font-size:20px}.accessible-result-header button{flex:0 0 auto;min-height:40px;padding:8px 14px;color:var(--jc-primary, #087f78);border:1px solid var(--jc-line, #cad7e2);border-radius:7px;background:var(--jc-surface, #fff);cursor:pointer}.accessible-result-content{padding:18px 20px;min-height:0;overflow:auto;overscroll-behavior:contain}.accessible-result-content pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.accessible-result-dialog button:focus-visible{outline:3px solid var(--jc-primary, #087f78);outline-offset:2px}.problem-answer-dialog{position:fixed;inset:0;width:min(820px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #d2e1e5;border-radius:14px;background:#fff;color:#18313c;box-shadow:0 22px 90px #18313c40;font:14px/1.6 Microsoft YaHei,PingFang SC,system-ui,sans-serif;overflow:hidden}.problem-answer-dialog::backdrop{background:#12232c80}.problem-answer-dialog *,.problem-answer-dialog *:before,.problem-answer-dialog *:after{box-sizing:border-box}.problem-answer-dialog h2,.problem-answer-dialog p{margin:0}.problem-answer-inner{display:flex;flex-direction:column;max-height:calc(100dvh - 42px)}.problem-answer-heading{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid #dfe8eb;background:#f8fbfb}.problem-answer-heading>div{min-width:0}.problem-answer-heading h2{color:#18313c;font-size:23px;line-height:1.4}.problem-answer-heading p{margin-top:6px;color:#607780;font-size:13px;overflow-wrap:anywhere}.problem-answer-heading p span{margin:0 10px}.problem-answer-dialog button{min-height:36px;padding:7px 13px;border:1px solid #b9d6d2;border-radius:7px;background:#fff;color:#087e77;font:inherit;font-size:13px;line-height:1.4;cursor:pointer}.problem-answer-dialog button:hover{background:#eaf5f3;border-color:#14857d}.problem-answer-dialog button:focus-visible,.problem-answer-viewport:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.problem-answer-dialog .problem-answer-close{flex:0 0 36px;width:36px;padding:3px;color:#50717a;font-size:26px;line-height:1}.problem-answer-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 10px}.problem-answer-message{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:26px 18px;border:1px solid #e2ecee;border-radius:9px;background:#f5f9fa;color:#59737d;text-align:center}.problem-answer-error{flex-direction:column;color:#92422f;background:#fff5f1;border-color:#f0d9ce}.problem-answer-spinner{flex:0 0 18px;width:18px;height:18px;border:2px solid #cce4df;border-top-color:#0a827b;border-radius:50%;animation:problem-answer-spin .9s linear infinite}.problem-answer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#607780;font-size:12px}.problem-answer-toolbar button{flex-shrink:0}.problem-answer-viewport{display:flex;align-items:flex-start;width:100%;max-height:min(500px,55dvh);min-height:200px;overflow:auto;overscroll-behavior:contain;border-radius:9px;background:#111b2b;color:#d6e2f0;tab-size:4}.problem-answer-viewport pre{margin:0;padding:16px;font:14px/1.7 Consolas,Cascadia Code,monospace;white-space:pre}.problem-answer-viewport code{font:inherit}.problem-answer-viewport .problem-answer-lines{flex:0 0 auto;position:sticky;left:0;min-width:48px;padding-right:12px;color:#8396ad;background:#152132;text-align:right;user-select:none}.problem-answer-viewport .problem-answer-source{flex:1 0 auto;padding-left:14px;padding-right:24px;user-select:text}.problem-answer-viewport .tok-keyword{color:#fbbf24}.problem-answer-viewport .tok-command{color:#38bdf8}.problem-answer-viewport .tok-number{color:#a7f3d0}.problem-answer-viewport .tok-string{color:#fca5a5}.problem-answer-viewport .tok-comment{color:#94a3b8}.problem-answer-viewport .tok-operator{color:#f472b6}.problem-answer-viewport .tok-punctuation{color:#c4b5fd}.problem-answer-dialog .problem-answer-copy-status{min-height:30px;padding-top:7px;color:#476c76;font-size:12px}.problem-answer-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-top:1px solid #dfe8eb;color:#758991;font-size:12px}@keyframes problem-answer-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.problem-answer-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.problem-answer-inner{max-height:calc(100dvh - 18px)}.problem-answer-heading{padding:16px 14px 13px}.problem-answer-heading h2{font-size:21px}.problem-answer-body{padding:14px 14px 7px}.problem-answer-viewport{min-height:170px}.problem-answer-viewport pre{font-size:13px}.problem-answer-footer{padding:11px 14px}}@media(prefers-reduced-motion:reduce){.problem-answer-spinner{animation:none}}.staff-account-manager{min-width:0;color:#172033}.staff-account-manager *,.staff-account-modal *{box-sizing:border-box}.sam-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.sam-heading h1{margin:0;font-size:24px}.sam-heading p{margin:6px 0 0;color:#64748b;font-size:13px}.sam-account-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sam-account-types button[aria-pressed=true]{border-color:#087e77;background:#e7f5f2;color:#086e68}.sam-actions,.sam-row-actions,.sam-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.staff-account-manager button,.staff-account-modal button{min-height:36px;padding:7px 12px;border:1px solid #cbd8e0;border-radius:6px;background:#fff;color:#244355;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.staff-account-manager button:hover:not(:disabled),.staff-account-modal button:hover:not(:disabled){background:#edf6f5}.staff-account-manager button:disabled,.staff-account-modal button:disabled{opacity:.5;cursor:default}.staff-account-manager .sam-primary,.staff-account-modal .sam-primary{border-color:#087e77;background:#087e77;color:#fff}.staff-account-manager .sam-primary:hover:not(:disabled),.staff-account-modal .sam-primary:hover:not(:disabled){background:#086e68}.staff-account-manager .sam-danger,.staff-account-modal .sam-danger{border-color:#e7b9b9;color:#a33535;background:#fff6f5}.staff-account-manager button:focus-visible,.staff-account-modal button:focus-visible,.staff-account-modal input:focus-visible{outline:3px solid #63bdb1;outline-offset:2px}.sam-notice{margin:0 0 12px;padding:12px;border:1px solid #b8e0d7;border-radius:7px;background:#eff9f5;color:#176c58}.sam-error{margin:12px 0;padding:12px;border:1px solid #e6c4bd;border-radius:7px;background:#fff5f2;color:#973f32;font-size:13px;line-height:1.7}.sam-error p{margin:4px 0 8px}.sam-table-wrap{width:100%;overflow-x:auto;border:1px solid #dce5eb;border-radius:8px;background:#fff}.sam-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}.sam-table caption{text-align:left;padding:14px 16px;color:#526775;font-weight:700;border-bottom:1px solid #e0e8ed}.sam-table th{background:#f5f8fa;color:#617583;font-weight:650}.sam-table th,.sam-table td{padding:13px 16px;border-bottom:1px solid #e5ecf0;vertical-align:middle}.sam-table tbody tr:last-child td{border-bottom:0}.sam-table td:first-child{min-width:150px;max-width:290px;overflow-wrap:anywhere}.sam-table td:nth-child(3){white-space:nowrap}.sam-username{display:block;margin-top:5px;color:#71818e;overflow-wrap:anywhere}.sam-table small{display:block;margin-top:5px;color:#77818b;font-size:11px}.sam-status{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.sam-status-active{background:#e6f5ee;color:#18734f}.sam-status-disabled{background:#f0f1f3;color:#697584}.sam-row-actions{min-width:190px;gap:5px}.sam-row-actions button{min-height:32px;padding:5px 8px;font-size:12px}.sam-empty{padding:30px 18px;color:#728291;text-align:center}.staff-account-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#0f172a75;overflow-y:auto}.staff-account-modal{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px;border:1px solid #d6e3e9;border-radius:12px;background:#fff;color:#172033;box-shadow:0 16px 64px #0f172a33;font-family:inherit;font-size:14px;line-height:1.7}.staff-account-modal>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.staff-account-modal h2{margin:0;font-size:20px}.staff-account-modal form>label,.sam-password-label{display:grid;gap:6px;margin:16px 0;font-weight:650}.staff-account-modal input:not([type=checkbox]){width:100%;min-width:0;height:42px;padding:8px 11px;border:1px solid #bacbd7;border-radius:6px;color:#20394b;background:#fff;font:inherit}.staff-account-modal label small{color:#738594;font-size:12px;font-weight:400}.sam-target{display:grid;gap:4px;padding:12px 14px;border-radius:7px;background:#f2f6f8;overflow-wrap:anywhere}.sam-target span{color:#637582;font-size:13px}.sam-help{margin:12px 0;color:#607584;font-size:13px;line-height:1.8}.sam-form-actions{justify-content:flex-end;margin-top:24px}.sam-password-label input{font-family:ui-monospace,Consolas,monospace!important}.sam-acknowledge{display:flex;align-items:center;gap:8px;margin-top:24px;cursor:pointer}.sam-acknowledge input{width:17px;height:17px;accent-color:#087e77}.sam-audit ul{list-style:none;padding:0;margin:0}.sam-audit li{padding:12px 0;border-bottom:1px solid #e4ebef}.sam-audit li>div{display:flex;justify-content:space-between;gap:12px}.sam-audit li time,.sam-audit li p{color:#718290;font-size:12px}.sam-audit li p{margin:4px 0 0;overflow-wrap:anywhere}@media(max-width:760px){.sam-heading{align-items:flex-start;flex-direction:column}.sam-table thead{display:none}.sam-table tbody,.sam-table tr,.sam-table td{display:block}.sam-table tr{padding:7px 0;border-bottom:1px solid #dce5eb}.sam-table tr:last-child{border:0}.sam-table td,.sam-table tbody tr:last-child td{padding:8px 14px;border:0;max-width:none;min-width:0}.sam-table td[data-label]:before{display:block;margin-bottom:5px;color:#7a8b98;content:attr(data-label);font-size:11px}.sam-table td:nth-child(3){white-space:normal}.sam-row-actions{min-width:0}.staff-account-backdrop{padding:12px}.staff-account-modal{padding:18px;max-height:calc(100dvh - 24px)}.sam-audit li>div{flex-wrap:wrap;gap:3px 10px}}.student-account-directory{min-width:0;color:#172033}.student-account-directory *{box-sizing:border-box}.sad-heading,.sad-heading>div{display:flex;align-items:center;gap:16px}.sad-heading{justify-content:space-between;margin-bottom:18px}.sad-heading h1{margin:0;font-size:24px}.sad-heading span{color:#64748b;font-size:13px}.student-account-directory button{min-height:38px;padding:8px 13px;border:1px solid #cbd8e0;border-radius:6px;background:#fff;color:#244355;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.student-account-directory button:hover:not(:disabled){background:#edf6f5}.student-account-directory button:disabled{opacity:.45;cursor:default}.student-account-directory .sad-primary{background:#087e77;border-color:#087e77;color:#fff}.student-account-directory .sad-primary:hover{background:#086e68}.student-account-directory button:focus-visible,.student-account-directory input:focus-visible,.sad-table-wrap:focus-visible{outline:3px solid #63bdb1;outline-offset:2px}.sad-search{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;margin-bottom:16px;border:1px solid #dce5eb;border-radius:8px;background:#fff}.sad-search label{font-size:13px;font-weight:650;color:#526775}.sad-search input{flex:1;min-width:180px;max-width:560px;height:40px;border:1px solid #bacbd7;border-radius:6px;padding:8px 11px;font:inherit;font-size:14px;color:#20394b;background:#fff}.sad-search input::placeholder{color:#788b9d}.sad-search-error{flex-basis:100%;margin:0;font-size:13px;color:#973f32}.sad-results{min-width:0}.sad-message{padding:40px 18px;margin:0;text-align:center;border:1px solid #dce5eb;border-radius:8px;color:#64748b;background:#fff;font-size:14px}.sad-error{padding:16px;border:1px solid #e6c4bd;border-radius:8px;background:#fff5f2;color:#973f32;font-size:14px}.sad-error p{margin:0 0 12px}.sad-table-wrap{width:100%;max-height:min(65vh,720px);overflow:auto;border:1px solid #dce5eb;border-radius:8px;background:#fff}.sad-table{width:100%;min-width:550px;table-layout:fixed;border-spacing:0;text-align:left;font-size:14px}.sad-table th,.sad-table td{padding:15px 18px;border-bottom:1px solid #e5ecf0;vertical-align:middle;overflow-wrap:anywhere}.sad-table thead th{position:sticky;top:0;z-index:1;background:#f5f8fa;color:#617583;font-size:13px;font-weight:650}.sad-table thead th:first-child{width:48%}.sad-table thead th:nth-child(2){width:32%}.sad-table thead th:last-child{width:20%}.sad-table tbody th{font-weight:400}.sad-table tbody tr:last-child>*{border-bottom:0}.sad-table tbody tr:hover{background:#f7fbfb}.sad-name{display:block;margin-top:5px;color:#71818e;font-size:13px}.sad-unlinked{color:#788b9d}.sad-status{display:inline-block;padding:3px 9px;border-radius:5px;font-size:12px;white-space:nowrap}.sad-status-active{background:#e6f5ee;color:#18734f}.sad-status-disabled{background:#f0f1f3;color:#697584}.sad-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0;color:#526775;font-size:13px}.sad-pagination>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.sad-pagination strong{padding:0 4px;white-space:nowrap}.sad-pagination small{color:#788b9d}@media(max-width:600px){.sad-heading>div{align-items:flex-start;flex-direction:column;gap:5px}.sad-search{gap:8px;padding:12px}.sad-search label{flex-basis:100%}.sad-search input{flex-basis:100%;max-width:none;width:100%;min-width:0}.sad-pagination>div{order:1;flex-basis:100%;gap:5px}.sad-pagination button{padding:7px 8px}}.account-avatar.account-avatar-framed{position:relative;isolation:isolate;overflow:visible;border-color:transparent;border-radius:0;background:transparent;box-shadow:none}.account-avatar.account-avatar-framed>.account-avatar-portrait{position:absolute;inset:14%;z-index:0;width:72%;height:72%;border-radius:50%;object-fit:cover;background:var(--jc-surface, #fff)}.account-avatar.account-avatar-framed>.account-avatar-frame-art{position:absolute;inset:0;z-index:1;display:block;pointer-events:none}.account-avatar.account-avatar-framed .account-avatar-frame-art img{display:block;width:100%;height:100%;border-radius:0;object-fit:contain}.account-avatar.account-avatar-framed>.account-avatar-frame-effect{position:absolute;z-index:2;inset:8%;border-radius:50%;pointer-events:none}.account-avatar-frame-breathing>.account-avatar-frame-effect{border:1.5px solid var(--avatar-frame-color);box-shadow:0 0 4px color-mix(in srgb,var(--avatar-frame-color) 64%,transparent),inset 0 0 3px color-mix(in srgb,var(--avatar-frame-color) 42%,transparent);animation:jc-avatar-frame-breathe var(--avatar-frame-duration) ease-in-out infinite}.account-avatar-frame-orbit>.account-avatar-frame-effect{overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask-image:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px))}.account-avatar-frame-orbit>.account-avatar-frame-effect:before{position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0 15%,var(--avatar-frame-color) 27%,#fff 31%,transparent 36% 65%,var(--avatar-frame-color) 77%,#fff 81%,transparent 86% 100%);content:"";animation:jc-avatar-frame-orbit var(--avatar-frame-duration) linear infinite}.account-avatar-framed[data-frame-motion=paused]>.account-avatar-frame-effect,.account-avatar-framed[data-frame-motion=paused]>.account-avatar-frame-effect:before{animation-play-state:paused}.account-avatar-tiny.account-avatar-frame-breathing>.account-avatar-frame-effect,.account-avatar-small.account-avatar-frame-breathing>.account-avatar-frame-effect{border-width:1px;box-shadow:0 0 2px color-mix(in srgb,var(--avatar-frame-color) 48%,transparent)}@keyframes jc-avatar-frame-breathe{0%,to{opacity:.35;transform:scale(.97)}50%{opacity:1;transform:scale(1.035)}}@keyframes jc-avatar-frame-orbit{to{transform:rotate(360deg)}}.avatar-dialog.avatar-dialog-framing-ready{display:flex;flex-direction:column}.avatar-dialog-framing-ready>header,.avatar-dialog-framing-ready>.avatar-frame-tabs{flex:0 0 auto}.avatar-dialog.avatar-dialog-framing-ready>header>button{flex:0 0 auto;white-space:nowrap}.avatar-dialog-framing-ready>.avatar-dialog-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.avatar-dialog-content>.avatar-dialog-current,.avatar-dialog-content>.avatar-dialog-error{flex:0 0 auto}.avatar-dialog-content>.avatar-dialog-scroll{min-height:0;overscroll-behavior:contain}.avatar-dialog .avatar-frame-tabs{display:flex;gap:6px;margin:14px 22px 0;border-radius:12px;padding:4px;background:var(--jc-primary-soft, #edf7f6)}.avatar-dialog .avatar-frame-tabs>button{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:8px;min-height:40px;border-color:transparent;border-radius:9px;color:var(--jc-muted, #617487);background:transparent}.avatar-dialog .avatar-frame-tabs>button[aria-selected=true]{color:var(--jc-primary, #087f79);background:var(--jc-surface, #fff);box-shadow:0 2px 6px #18314b14}.avatar-frame-tabs>button>span{min-width:20px;border-radius:999px;padding:2px 5px;font-size:11px;background:var(--jc-primary-soft, #edf7f6)}.avatar-dialog-framing-ready button:focus-visible{outline:3px solid color-mix(in srgb,var(--jc-primary, #087f79) 48%,transparent);outline-offset:2px}.avatar-frame-picker-help,.avatar-frame-empty{color:var(--jc-muted, #617487);font-size:12px;line-height:1.7}.avatar-frame-picker-help{margin:0 0 12px}.avatar-frame-empty{margin:16px 0 0}.avatar-frame-picker-grid>button:disabled.is-selected{cursor:default;opacity:1}@media(max-width:720px){.avatar-dialog .avatar-frame-tabs{margin-inline:14px}}.redemption-catalog-product{display:flex;align-items:center;gap:12px;min-width:220px}.redemption-catalog-product>div{min-width:0;overflow-wrap:anywhere}.redemption-catalog-thumbnail{display:grid;flex:0 0 56px;place-items:center;width:56px;height:56px;overflow:hidden;border:1px solid #d5e5e9;border-radius:11px;background:#f0f7f8}.redemption-catalog-thumbnail>img{display:block;width:56px;height:56px;object-fit:cover}.redemption-catalog-thumbnail.is-frame{background-color:#fff;background-image:repeating-conic-gradient(#eef3f6 0% 25%,transparent 0% 50%);background-size:12px 12px}.redemption-catalog-thumbnail.is-frame>img{object-fit:contain}.redemption-catalog-thumbnail>span{padding:4px;color:#6b8791;font-size:11px;text-align:center}.redemption-item-resource{display:flex;align-items:center;gap:13px;margin-top:20px;border:1px solid #dce8ec;border-radius:10px;padding:12px;background:#f7fafb}.redemption-item-resource>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.redemption-item-resource strong{color:#345667;font-size:13px}.redemption-item-resource span:not(.redemption-catalog-thumbnail),.redemption-item-resource small{color:#728994;font-size:11px}.redemption-item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.redemption-item-fields>label{display:grid;align-content:start;gap:7px;min-width:0;color:#456473;font-size:12px;font-weight:700}.redemption-item-fields .redemption-item-wide{grid-column:1 / -1}.redemption-item-fields input,.redemption-item-fields textarea{box-sizing:border-box;width:100%;min-height:42px;border:1px solid #bbd3dc;border-radius:8px;padding:10px 12px;color:#173c4c;background:#fff;font:inherit;font-weight:400}.redemption-item-fields textarea{resize:vertical;line-height:1.6}.redemption-item-fields input:focus,.redemption-item-fields textarea:focus{outline:2px solid #9bd9d1;outline-offset:1px;border-color:#07867d}.redemption-item-fields small{color:#698591;font-size:11px;font-weight:400}.redemption-item-effect-note{margin:20px 0 -6px;border-radius:8px;padding:10px 12px;color:#29776e;background:#edf8f5;font-size:12px;line-height:1.6}.redemption-frame-upload{margin-top:18px;border:1px solid #cbdfe5;border-radius:12px;padding:20px;background:#f8fcfd}.redemption-frame-upload-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.redemption-frame-upload-heading strong{color:#153a4b;font-size:16px}.redemption-frame-upload-heading p,.redemption-frame-upload-copy p{margin:6px 0 0;color:#607d8c;font-size:12px;line-height:1.65}.redemption-frame-kind{flex:0 0 auto;border:1px solid #b5e2df;border-radius:999px;padding:5px 10px;color:#087c75;background:#e7f7f3;font-size:11px;font-weight:800}.redemption-frame-upload-body{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:22px;margin-top:18px}.redemption-frame-artwork{display:grid;place-items:center;width:140px;aspect-ratio:1;border:1px dashed #a7c5ce;border-radius:10px;overflow:hidden;background-color:#fff;background-image:repeating-conic-gradient(#eef3f6 0% 25%,transparent 0% 50%);background-size:16px 16px;text-align:center}.redemption-frame-artwork img{display:block;width:100%;height:100%;object-fit:contain}.redemption-frame-artwork>span{color:#527785;font-size:14px;line-height:1.75}.redemption-frame-artwork small{font-size:11px}.redemption-frame-upload-copy strong{color:#244859;font-size:13px}.platform-admin-shell .redemption-frame-upload-copy .platform-actions{justify-content:flex-start;margin-top:12px}.redemption-frame-settings{margin-top:20px}.redemption-frame-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.redemption-frame-controls>label{display:grid;gap:7px;min-width:0;color:#456473;font-size:12px;font-weight:700}.redemption-frame-controls select{width:100%;min-height:39px;border:1px solid #bbd3dc;border-radius:7px;padding:0 10px;color:#173c4c;background:#fff;font:inherit}.redemption-frame-color{display:flex;align-items:center;gap:10px;min-height:39px;border:1px solid #bbd3dc;border-radius:7px;padding:4px 10px;background:#fff}.redemption-frame-color>input[type=color]{width:34px;height:26px;min-height:0;border:0;padding:0;background:transparent;cursor:pointer}.redemption-frame-color>span{color:#536f7e;font:12px ui-monospace,monospace}.redemption-frame-live-preview{margin-top:16px;border:1px solid #d5e7eb;border-radius:10px;padding:16px 18px;background:linear-gradient(115deg,#fff,#eff9f9)}.redemption-frame-preview-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.redemption-frame-preview-title strong{color:#204e5d;font-size:13px}.redemption-frame-preview-title small{color:#78919c;font-size:11px}.redemption-frame-preview-sizes{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:52px;row-gap:20px;padding-top:19px}.redemption-frame-preview-sizes>div{display:grid;justify-items:center;align-items:center;gap:12px}.redemption-frame-preview-sizes>div>span:last-child{color:#6c8592;font-size:11px}.redemption-frame-preview-account{display:inline-flex;align-items:center;gap:9px;border:1px solid #dbe7ec;border-radius:10px;padding:12px 15px;background:#fff}.redemption-frame-preview-account b{color:#244654;font-size:13px}.redemption-frame-live-preview.is-empty .redemption-frame-preview-sizes{opacity:.55}.redemption-frame-usage-note{margin:12px 0 0;color:#67828d;font-size:11px;line-height:1.7}.redemption-frame-dialog-backdrop,.redemption-frame-dialog,.redemption-frame-dialog *{box-sizing:border-box}.redemption-frame-dialog-backdrop{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:20px;background:#11293473;backdrop-filter:blur(4px)}.redemption-frame-dialog{width:min(680px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #c7dce3;border-radius:16px;padding:24px;color:#244859;background:#fff;box-shadow:0 24px 80px #11293440}.redemption-frame-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.redemption-frame-dialog>header>div{min-width:0}.redemption-frame-dialog>header span{color:#07867d;font-size:11px;font-weight:800}.redemption-frame-dialog>header h3{margin:6px 0;color:#153a4b;font-size:22px}.redemption-frame-dialog>header p{margin:0;color:#67828d;font-size:12px}.redemption-frame-dialog>header>button{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;min-height:32px;border:0;border-radius:8px;padding:0;color:#5b7885;background:#eef5f6;font-size:24px}.platform-admin-shell .redemption-frame-dialog .platform-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.redemption-frame-error{border:1px solid #edc5bd;border-radius:7px;padding:10px;color:#a42f21;background:#fff3ef;font-size:12px}@media(max-width:700px){.redemption-frame-upload{padding:15px}.redemption-frame-upload-body{grid-template-columns:110px minmax(0,1fr);gap:15px}.redemption-frame-artwork{width:110px}.redemption-frame-controls{gap:8px}.redemption-frame-color{gap:4px;padding-inline:5px}.redemption-frame-color>span{font-size:10px}.redemption-frame-dialog{padding:18px}}@media(max-width:440px){.redemption-item-fields,.redemption-frame-upload-body{grid-template-columns:1fr}.redemption-frame-artwork{margin-inline:auto}.redemption-frame-controls{grid-template-columns:1fr}.redemption-frame-kind{display:none}.redemption-frame-dialog-backdrop{padding:12px}}.knowledge-tag-picker{min-width:0;margin:0;padding:0;border:0}.knowledge-tag-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px;margin-bottom:7px;color:#425e73;font-size:13px;font-weight:700;line-height:20px}.knowledge-tag-picker-head>span{min-width:0}.knowledge-tag-picker-head small{margin-left:4px;color:var(--jc-muted, #697b91);font-size:11px;font-weight:400}.knowledge-tag-picker .knowledge-tag-picker-head button{flex-shrink:0;min-height:20px;padding:0;border:0;border-radius:3px;color:var(--jc-primary, #087f78);background:transparent;box-shadow:none;font-size:12px;font-weight:500;line-height:20px;white-space:nowrap}.knowledge-tag-picker .knowledge-tag-picker-head button:hover:not(:disabled){text-decoration:underline}.knowledge-tag-control{box-sizing:border-box;position:relative;display:flex;align-items:center;min-height:42px;padding:5px 35px 5px 10px;border:1px solid var(--jc-line-strong, #cbd8e6);border-radius:9px;background:var(--jc-surface, white)}.knowledge-tag-control.is-open{border-color:var(--jc-primary, #087f78);box-shadow:0 0 0 3px var(--jc-primary-soft, #e5f5f4)}.knowledge-tag-control.is-locked{background:var(--jc-surface-soft, #f6f9fc)}.knowledge-tag-picker .knowledge-tag-toggle{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;width:100%;min-height:0;padding:0 12px;border:0;border-radius:inherit;background:transparent;color:var(--jc-muted, #697b91);box-shadow:none;font-size:18px;line-height:1}.knowledge-tag-toggle>span{transition:transform .15s ease}.knowledge-tag-control.is-open .knowledge-tag-toggle>span{transform:rotate(180deg)}.knowledge-tag-picker .knowledge-tag-toggle:hover:not(:disabled){background:transparent}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected>span{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:100%;padding:2px 3px 2px 8px;border:1px solid var(--jc-line, #b9dddd);border-radius:6px;color:var(--jc-primary, #087f80);background:var(--jc-primary-soft, #e5f5f4);font-size:12px;font-weight:500;line-height:22px}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected>span>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected button{flex-shrink:0;min-height:24px;padding:0 5px;border:0;border-radius:4px;background:transparent;color:inherit;box-shadow:none;font:inherit;line-height:24px;cursor:pointer}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected button:hover:not(:disabled){background:var(--jc-surface, white)}.knowledge-tag-picker .knowledge-tag-summary{position:relative;flex-wrap:nowrap;width:100%;pointer-events:none}.knowledge-tag-summary>span{flex:0 1 auto}.knowledge-tag-summary>span>span{max-width:130px}.knowledge-tag-summary button{pointer-events:auto}.knowledge-tag-picker .knowledge-tag-summary>.knowledge-tag-more{color:var(--jc-primary, #087f80);background:var(--jc-primary-soft, #e5f5f4);padding:0 6px;font-size:12px;font-weight:600}.knowledge-tag-summary>small{overflow:hidden;color:#7d8a9c;font-size:13px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}:is(.knowledge-tag-picker,.knowledge-tag-popover) .knowledge-tag-selected .is-disabled{color:#735724;background:#fff5df;border-color:#e9d8ae}.knowledge-tag-retained-note{display:block;margin-top:5px;color:#87611f;font-size:11px;line-height:1.5}.knowledge-tag-popover{box-sizing:border-box;position:fixed;z-index:2200;display:flex;flex-direction:column;gap:10px;padding:12px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--jc-line-strong, #cbd8e6);border-radius:12px;color:var(--jc-ink, #203249);background:var(--jc-surface, white);box-shadow:0 12px 36px #172c422e;font-size:13px;line-height:1.5}.knowledge-tag-popover-head{display:flex;flex:0 0 auto;align-items:center;gap:9px}.knowledge-tag-popover-head strong{font-size:13px}.knowledge-tag-popover-head>span{flex:1;color:var(--jc-muted, #697b91);font-size:12px}.knowledge-tag-popover-head button{padding:4px 9px;border:0;border-radius:6px;color:var(--jc-primary, #087f78);background:var(--jc-primary-soft, #e5f5f4);font:inherit;cursor:pointer}.knowledge-tag-popover>input{box-sizing:border-box;flex:0 0 auto;min-width:0;width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--jc-line-strong, #cbd8e6);border-radius:8px;color:var(--jc-ink, #203249);background:var(--jc-surface, white);font:inherit}.knowledge-tag-popover .knowledge-tag-expanded-selection{flex:0 1 auto;max-height:100px;overflow-y:auto;padding:1px}.knowledge-tag-popover .knowledge-tag-expanded-selection>span>span{white-space:normal;overflow-wrap:anywhere}.knowledge-tag-popover .knowledge-tag-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;flex:1 1 auto;align-content:start;gap:3px 5px;min-height:50px;overflow-y:auto;padding:1px;overscroll-behavior:contain}.knowledge-tag-popover .knowledge-tag-options label{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;min-height:37px;padding:5px 8px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer}.knowledge-tag-popover .knowledge-tag-options label:hover{background:var(--jc-surface-soft, #f6f9fc)}.knowledge-tag-popover .knowledge-tag-options label.is-selected{color:var(--jc-primary, #087f78);background:var(--jc-primary-soft, #e5f5f4)}.knowledge-tag-popover .knowledge-tag-options label span{min-width:0;overflow-wrap:anywhere}.knowledge-tag-popover .knowledge-tag-options input{flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:var(--jc-primary, #008887)}.knowledge-tag-popover .knowledge-tag-options p{grid-column:1 / -1;margin:6px;color:var(--jc-muted, #697b91);font-size:13px}:is(.knowledge-tag-picker,.knowledge-tag-popover) button:disabled{opacity:.5;cursor:not-allowed}:is(.knowledge-tag-picker,.knowledge-tag-popover) :is(input,button):focus-visible{outline:2px solid var(--jc-primary, #008887);outline-offset:2px}.knowledge-tag-note{margin:6px 0 12px;color:#60728a;font-size:13px;line-height:1.6}.knowledge-tag-dialog input,.knowledge-tag-dialog select{box-sizing:border-box;min-width:0;width:100%;padding:9px 10px;border:1px solid var(--jc-line, #cedce8);border-radius:8px;color:#203249;background:var(--jc-surface, white);font:inherit}.knowledge-tag-dialog :is(input,select,button):focus-visible{outline:2px solid var(--jc-primary, #008887);outline-offset:2px}.knowledge-tag-backdrop{z-index:2500}.accessible-result-dialog.knowledge-tag-dialog{width:min(960px,calc(100vw - 28px));max-height:min(90dvh,900px);color:#203249;background:var(--jc-surface, white);border:1px solid var(--jc-line, #d5e0e9)}.knowledge-tag-dialog .accessible-result-header{border-color:var(--jc-line, #d5e0e9);background:var(--jc-surface-soft, #f6f9fc)}.knowledge-tag-dialog .accessible-result-content{overflow-y:auto;min-height:0;padding:18px}.knowledge-tag-dialog button,.knowledge-tag-picker button{font:inherit;cursor:pointer}.knowledge-tag-dialog button{border:1px solid var(--jc-line, #cbdce8);border-radius:8px;padding:8px 11px;color:var(--jc-primary, #087f80);background:var(--jc-surface, white);white-space:nowrap}.knowledge-tag-dialog button:hover:not(:disabled){background:var(--jc-primary-soft, #e5f5f4)}.knowledge-tag-dialog button:disabled{opacity:.48;cursor:not-allowed}.knowledge-tag-dialog label{display:grid;gap:5px;min-width:0;font-size:13px}.knowledge-tag-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:13px;border:1px solid var(--jc-line, #d5e0e9);border-radius:10px;background:var(--jc-surface-soft, #f6f9fc)}.knowledge-tag-create button,.knowledge-tag-footer button:last-child{color:#fff;background:var(--jc-primary, #087f80);border-color:var(--jc-primary, #087f80)}.knowledge-tag-create button:hover:not(:disabled),.knowledge-tag-footer button:last-child:hover:not(:disabled){background:var(--jc-primary-hover, #076e70)}.knowledge-tag-search{margin:14px 0}.knowledge-tag-admin-list{display:grid;gap:12px}.knowledge-tag-admin-row{border:1px solid var(--jc-line, #d5e0e9);border-radius:12px;padding:13px;min-width:0}.knowledge-tag-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.knowledge-tag-row-meta strong{overflow-wrap:anywhere}.knowledge-tag-row-meta>span{font-size:12px;color:#60728a}.knowledge-tag-row-meta .is-active{color:var(--jc-primary, #087f80);background:var(--jc-primary-soft, #e5f5f4);padding:3px 7px;border-radius:6px}.knowledge-tag-row-meta .is-disabled{color:#735724;background:#fff5df;padding:3px 7px;border-radius:6px}.knowledge-tag-row-edit{display:grid;grid-template-columns:minmax(120px,1fr) 80px auto auto auto;gap:8px;align-items:end}.knowledge-tag-dialog .knowledge-tag-danger{color:#b54243}.knowledge-tag-row-merge{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-top:10px}.knowledge-tag-row-merge label{min-width:180px;flex:1 1 180px}.knowledge-tag-row-merge small{width:100%;color:#697b91}.knowledge-tag-error{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;margin:10px 0;border-radius:8px;color:#9c3637;background:#fff0ef;line-height:1.5}.knowledge-import-mappings{display:grid;gap:10px;margin:14px 0}.knowledge-import-mappings label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px;background:var(--jc-surface-soft, #f6f9fc);border-radius:8px}.knowledge-import-mappings strong{overflow-wrap:anywhere}.knowledge-tag-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:18px}@media(max-width:640px){.accessible-result-dialog.knowledge-tag-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.knowledge-tag-dialog .accessible-result-content{padding:12px}.knowledge-tag-row-edit{grid-template-columns:minmax(0,1fr) 72px}.knowledge-tag-row-edit>button{padding:8px}.knowledge-tag-row-edit>button:nth-of-type(1){grid-column:1 / -1}.knowledge-tag-create{grid-template-columns:1fr}.knowledge-tag-create button{width:100%}.knowledge-import-mappings label{grid-template-columns:1fr;gap:7px}}.platform-admin-shell .platform-dialog.platform-problem-dialog{--authoring-line: var(--jc-line, #d6e4ec);--authoring-soft: var(--jc-surface-soft, #f5f9fc);border-radius:18px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-modal-head{padding:18px 22px;background:linear-gradient(115deg,var(--jc-surface, #fff),var(--jc-surface-soft, #f5f9fc))}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-modal-head h2{font-size:23px;margin-top:4px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-dialog-body{display:flex;flex-direction:column;gap:16px;padding:18px;background:var(--authoring-soft)}.platform-problem-dialog .problem-authoring-section{min-width:0;margin:0;padding:18px;border:1px solid var(--authoring-line);border-radius:13px;background:var(--jc-surface, #fff)}.platform-problem-dialog .problem-authoring-section-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}.platform-problem-dialog .problem-authoring-section-head h3{margin:0;font-size:16px;color:#203249}.platform-problem-dialog .problem-authoring-section-head p{margin:0;font-size:12px;color:#6b7e91;line-height:1.6}.platform-admin-shell .platform-dialog.platform-problem-dialog .problem-basics-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 12px;align-items:start}.platform-problem-dialog .problem-basics-grid>label{grid-column:span 2;min-width:0}.platform-problem-dialog .problem-basics-grid>.problem-field-title,.platform-problem-dialog .problem-basics-grid>.knowledge-tag-picker{grid-column:span 6}.platform-problem-dialog .problem-basics-grid>.problem-field-commands{grid-column:span 4}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-form-grid label,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-wide-field,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-format-fields label,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-code-grid label{font-size:13px;font-weight:600;gap:8px}.platform-problem-dialog .problem-field-commands small{margin-left:4px;color:#7a8a9b;font-size:11px;font-weight:400}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-form-grid input,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-form-grid select{box-sizing:border-box;height:42px;padding:9px 11px}.platform-admin-shell .platform-dialog.platform-problem-dialog input,.platform-admin-shell .platform-dialog.platform-problem-dialog select,.platform-admin-shell .platform-dialog.platform-problem-dialog textarea{border-radius:9px;border-color:var(--authoring-line)}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-modal-head>button,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-form-actions>button{min-height:39px;border-radius:9px;padding:0 17px}.platform-problem-dialog .problem-authoring-section>.platform-wide-field{margin-top:0}.platform-problem-dialog .platform-wide-field textarea{min-height:110px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-format-fields{gap:14px;margin-top:16px}.platform-problem-dialog .platform-format-fields textarea{min-height:82px}.platform-admin-shell .platform-dialog.platform-problem-dialog .problem-reference-upload{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;min-height:0;margin-top:16px;padding:14px 16px;border:1px dashed var(--authoring-line);border-radius:10px;background:var(--authoring-soft)}.platform-problem-dialog .problem-reference-copy{flex:1 1 260px;min-width:0}.platform-problem-dialog .problem-reference-copy strong{font-size:13px}.platform-problem-dialog .problem-reference-copy p{margin:5px 0 0;color:#6b7e91;font-size:12px;line-height:1.6}.platform-problem-dialog .problem-reference-actions{display:flex;gap:8px;flex-wrap:wrap}.platform-problem-dialog .problem-reference-actions button{margin:0;border-radius:8px}.platform-problem-dialog .problem-reference-upload>img{width:116px;height:88px;border-radius:8px;object-fit:contain}.platform-problem-dialog .platform-code-grid{margin-top:0}.platform-problem-dialog .platform-code-grid textarea{min-height:170px;font-size:13px;line-height:1.65}.platform-problem-dialog .platform-editor-section-head{align-items:center;gap:12px;margin-bottom:14px}.platform-problem-dialog .platform-editor-section-head h3{font-size:16px}.platform-problem-dialog .platform-editor-section-head p{font-size:12px;line-height:1.6}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-sample-editor article,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-test-input{border-radius:10px;border-color:var(--authoring-line);background:var(--authoring-soft)}.platform-problem-dialog .platform-test-editor{border-left:3px solid var(--jc-primary, #087f78)}.platform-admin-shell .platform-dialog.platform-problem-dialog>.platform-form-actions{padding:13px 22px;background:var(--jc-surface, #fff)}@media(max-width:800px){.platform-admin-shell .platform-dialog.platform-problem-dialog .problem-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-problem-dialog .problem-basics-grid>label{grid-column:span 1}.platform-problem-dialog .problem-basics-grid>.problem-field-title{grid-column:span 1}.platform-problem-dialog .problem-basics-grid>.knowledge-tag-picker,.platform-problem-dialog .problem-basics-grid>.problem-field-commands{grid-column:1 / -1}.platform-problem-dialog .problem-authoring-section-head{gap:5px;flex-direction:column}}@media(max-width:480px){.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-dialog-body{padding:10px;gap:12px}.platform-problem-dialog .problem-authoring-section{padding:13px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-modal-head{padding:14px 16px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-modal-head h2{font-size:20px}.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-format-fields,.platform-admin-shell .platform-dialog.platform-problem-dialog .platform-code-grid{grid-template-columns:minmax(0,1fr)}.platform-problem-dialog .platform-editor-section-head,.platform-problem-dialog .platform-sample-title{flex-wrap:wrap}.platform-admin-shell .platform-dialog.platform-problem-dialog>.platform-form-actions{padding:11px 16px}}.creation-studio.creation-studio-compact{min-width:0}.creation-studio-compact .creation-head.creation-head-compact{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:16px;min-width:0;max-width:100%;min-height:62px;padding:12px 14px}.creation-studio-compact .creation-identity{display:flex;flex:1 1 320px;align-items:center;gap:14px;min-width:0}.creation-studio-compact .creation-identity h2{flex:0 0 auto;margin:0;font-size:20px;line-height:1.4;white-space:nowrap}.creation-studio-compact .creation-current-work{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0}.creation-studio-compact .creation-name-button,.creation-studio-compact .creation-name-input{flex:0 1 28rem;min-width:0;max-width:28rem;min-height:34px;border:1px solid transparent;border-radius:6px;padding:6px 8px;color:var(--jc-ink, #17324d);background:transparent;box-shadow:none;font:inherit;font-size:14px;font-weight:600;line-height:20px;text-align:left;transition:none}.creation-studio-compact .creation-name-button{display:flex;flex-basis:auto;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.creation-studio-compact .creation-name-button>span:first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creation-studio-compact .creation-name-button>span[aria-hidden=true]{flex:0 0 auto;color:#65768a}.creation-studio-compact .creation-name-button:hover:not(:disabled){border-color:var(--jc-line, #d8e3ee);background:#f5f9fc}.creation-studio-compact .creation-name-input{width:100%;border-color:var(--jc-line-strong, #bccfdf);background:#fff}.creation-studio-compact .creation-save-status{flex:0 0 auto;color:#65768a;font-size:12px;line-height:1.5;white-space:nowrap}.creation-studio-compact .creation-work-name{flex:0 1 auto;min-width:0;max-width:28rem;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.creation-studio-compact .creation-save-form{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.creation-studio-compact .creation-save-name-label{display:grid;gap:8px;padding:20px 20px 0;font-size:14px;font-weight:600}.creation-studio-compact .creation-save-name-label>input{width:100%;min-width:0;min-height:42px;border:1px solid var(--jc-line-strong, #bccfdf);border-radius:6px;padding:9px 12px;background:#fff;color:var(--jc-ink, #17324d);font:inherit}.creation-studio-compact .creation-save-name-label>input:focus-visible{outline:2px solid var(--jc-focus, #2177ad);outline-offset:2px}.creation-studio-compact .creation-save-form>.creation-dialog-description{padding-bottom:16px}.creation-studio-compact .creation-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.creation-studio-compact .creation-delete-button{min-height:36px;border:1px solid #efd6d2;border-radius:6px;padding:6px 10px;color:#b42318;background:#fff9f8;font:inherit;font-size:13px;cursor:pointer}.creation-studio-compact .creation-delete-button:hover:not(:disabled){background:#ffefeb;border-color:#d9968e}.creation-studio-compact .creation-save-status[data-state=saved]{color:#087f7b}.creation-studio-compact .creation-save-status[data-state=unsaved]{color:#8a5a14}.creation-studio-compact .creation-save-status[data-state=error]{color:#b42318}.creation-studio-compact .creation-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;max-width:100%}.creation-studio-compact .creation-actions-secondary,.creation-studio-compact .creation-actions-primary{display:flex;align-items:center;gap:8px;min-width:0}.creation-studio-compact .creation-actions button{flex:0 0 auto;min-height:36px;white-space:nowrap;transition:none}.creation-studio-compact .creation-panel-title{gap:12px;min-width:0}.creation-studio-compact .creation-panel-title>strong{flex:0 0 auto}.creation-studio-compact .creation-run-notice{flex:1 1 0;min-width:0;overflow:hidden;color:#65768a;font-size:12px;font-weight:400;line-height:1.5;text-align:right;text-overflow:ellipsis;white-space:nowrap}.creation-studio-compact .creation-run-notice:empty{display:none}.creation-studio-compact .creation-run-notice[data-tone=error]{overflow:visible;color:#b42318;text-align:left;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.creation-studio-compact .creation-dialog{width:min(580px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(680px,calc(100vh - 48px));max-height:min(680px,calc(100dvh - 48px));margin:auto;overflow:hidden;border:1px solid var(--jc-line, #d8e3ee);border-radius:12px;padding:0;color:var(--jc-ink, #17324d);background:#fff;box-shadow:0 16px 56px #17324d33}.creation-studio-compact .creation-dialog[open]{display:flex;flex-direction:column}.creation-studio-compact .creation-dialog::backdrop{background:#172b4659}.creation-studio-compact .creation-dialog-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--jc-line, #d8e3ee);padding:16px 20px}.creation-studio-compact .creation-dialog-head h3{min-width:0;margin:0;color:var(--jc-ink, #17324d);font-size:18px;font-weight:700;line-height:1.4}.creation-studio-compact .creation-dialog-head>button,.creation-studio-compact .creation-dialog-actions>button,.creation-studio-compact .creation-dialog-error>button{flex:0 0 auto;min-width:36px;min-height:36px;border:1px solid var(--jc-line-strong, #bccfdf);border-radius:6px;padding:7px 12px;color:var(--jc-ink, #17324d);background:#fff;box-shadow:none;font:inherit;font-size:14px;font-weight:600;line-height:20px;cursor:pointer;transition:none}.creation-studio-compact .creation-dialog-head>button:hover:not(:disabled),.creation-studio-compact .creation-dialog-actions>button:hover:not(:disabled),.creation-studio-compact .creation-dialog-error>button:hover:not(:disabled){border-color:#9fb0c3;background:#f3f8fb}.creation-studio-compact .creation-dialog-description{flex:0 0 auto;margin:0;padding:14px 20px 4px;color:#65768a;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.creation-studio-compact .creation-work-list{display:grid;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px;scrollbar-gutter:stable}.creation-studio-compact .creation-work-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;width:100%;min-width:0;min-height:72px;border:1px solid var(--jc-line, #d8e3ee);border-radius:8px;padding:12px 14px;color:var(--jc-ink, #17324d);background:#fff;box-shadow:none;font:inherit;text-align:left;cursor:pointer;transition:none}.creation-studio-compact .creation-work-item:hover:not(:disabled){border-color:#86bdbb;background:#f4fbfa}.creation-studio-compact .creation-work-item[aria-current=true]{border-color:#87c5bf;background:#edf9f7}.creation-studio-compact .creation-work-item>strong{grid-column:1;grid-row:1;min-width:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.creation-studio-compact .creation-work-time{grid-column:1;grid-row:2;color:#65768a;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.creation-studio-compact .creation-work-current{grid-column:2;grid-row:1 / span 2;color:#087f7b;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.creation-studio-compact .creation-work-empty{margin:0;padding:32px 20px;color:#65768a;font-size:14px;line-height:1.7;text-align:center}.creation-studio-compact .creation-dialog-error{margin:0;padding:12px 20px;color:#b42318;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.creation-studio-compact .creation-dialog-error>button{margin-left:8px}.creation-studio-compact .creation-dialog-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--jc-line, #d8e3ee);padding:14px 20px}.creation-studio-compact .creation-dialog-actions>button.primary{border-color:var(--jc-primary, #087f7b);color:#fff;background:var(--jc-primary, #087f7b)}.creation-studio-compact .creation-dialog-actions>button.primary:hover:not(:disabled){border-color:var(--jc-primary-hover, #066d69);background:var(--jc-primary-hover, #066d69)}.creation-studio-compact .creation-dialog-actions>button.danger{border-color:#b42318;background:#b42318;color:#fff}.creation-studio-compact .creation-dialog-actions>button.danger:hover:not(:disabled){border-color:#912018;background:#912018}.creation-studio-compact .creation-name-button:disabled,.creation-studio-compact .creation-name-input:disabled,.creation-studio-compact .creation-dialog button:disabled{border-color:var(--jc-line, #d8e3ee);color:#8492a3;background:#f3f5f8;box-shadow:none;cursor:not-allowed;transform:none}.creation-studio-compact .creation-name-button:focus-visible,.creation-studio-compact .creation-name-input:focus-visible,.creation-studio-compact .creation-dialog button:focus-visible,.creation-studio-compact .creation-actions button:focus-visible{outline:2px solid var(--jc-focus, #2177ad);outline-offset:3px}@media(max-width:1000px){.creation-studio-compact .creation-head.creation-head-compact{flex-wrap:wrap;gap:10px}.creation-studio-compact .creation-identity{flex-basis:100%}.creation-studio-compact .creation-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;width:100%;max-width:100%;margin-left:auto}}@media(max-width:540px){.creation-studio-compact .creation-head.creation-head-compact{padding:10px}.creation-studio-compact .creation-identity{flex-wrap:wrap;gap:4px 10px}.creation-studio-compact .creation-identity h2{font-size:18px}.creation-studio-compact .creation-current-work{flex-basis:100%;gap:8px}.creation-studio-compact .creation-name-button,.creation-studio-compact .creation-name-input{padding-left:0}.creation-studio-compact .creation-name-input{padding-left:8px}.creation-studio-compact .creation-actions{gap:6px;justify-content:flex-start;margin-left:0}.creation-studio-compact .creation-actions button{padding-right:10px;padding-left:10px}.creation-studio-compact .creation-run-notice{flex-basis:100%;text-align:left}.creation-studio-compact .creation-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:8px}.creation-studio-compact .creation-dialog-head,.creation-studio-compact .creation-dialog-description,.creation-studio-compact .creation-work-list,.creation-studio-compact .creation-dialog-error,.creation-studio-compact .creation-dialog-actions{padding-right:14px;padding-left:14px}}.research-creation .creation-studio{width:100%;margin:0}.platform-admin-shell .platform-admin-tabs>.research-creation-entry.active,.platform-admin-shell .platform-admin-tabs>.research-creation-entry.active>span{color:#fff}.platform-admin-shell .platform-admin-tabs>.research-creation-entry.active{background:#087f7b;border-color:#087f7b}.research-creation .creation-version-control>button{flex:0 0 auto;white-space:nowrap}.research-creation .creation-workbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr)}.research-creation .creation-workbar>span{grid-column:1 / -1;height:40px;line-height:20px;overflow:auto}.research-creation .creation-workbar>.activity-label{display:none}.research-creation .creation-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.research-creation .creation-console-panel{border-color:#cbdfe1;background:#f6f9fa}.research-creation .creation-interactive-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;margin-bottom:8px;border-bottom:1px solid #d8e3ee;padding-bottom:8px}.research-creation .creation-interactive-toggle{display:inline-flex;align-items:center;gap:7px;color:#17324d;font-size:14px;font-weight:700;cursor:pointer}.research-creation .creation-interactive-toggle input{appearance:none;position:relative;flex:0 0 34px;width:34px;height:20px;margin:0;border:1px solid #8b9fa6;border-radius:12px;background:#e2e8eb;cursor:pointer}.research-creation .creation-interactive-toggle input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003}.research-creation .creation-interactive-toggle input:checked{border-color:#087f7b;background:#087f7b}.research-creation .creation-interactive-toggle input:checked:after{left:16px}.research-creation .creation-interactive-toggle input:focus-visible{outline:2px solid #2177ad;outline-offset:3px}.research-creation .creation-interactive-toggle input:disabled{opacity:.6;cursor:not-allowed}.research-creation .creation-interactive-status{min-width:0;color:#52677a;font-size:12px;text-align:center;overflow-wrap:anywhere}.research-creation .creation-interactive-toolbar>button{min-width:80px;min-height:34px;border:1px solid #9fcacb;border-radius:4px;padding:6px 9px;background:#e7f5f3;color:#086d6a;font-weight:700;cursor:pointer}.research-creation .creation-interactive-toolbar>button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1120px){.research-creation .creation-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.research-creation .creation-workbar{grid-template-columns:minmax(0,1fr)}}.problem-achievement{margin:0;color:var(--jc-text, #12233b)}.problem-achievement img{display:block;object-fit:contain;user-select:none}.problem-achievement-full{position:absolute;top:38px;right:8px;z-index:4;display:grid;justify-items:center;width:90px;pointer-events:none;transform:rotate(1.5deg)}.problem-achievement-full img{width:82px;height:82px;filter:drop-shadow(0 5px 7px rgb(26 92 150 / 16%))}.problem-achievement-full figcaption{display:grid;justify-items:center;gap:1px;margin-top:-2px;color:var(--jc-muted, #64748b);font-size:10px;line-height:1.35;white-space:nowrap}.problem-achievement-full figcaption span{font-weight:700}.problem-achievement-full figcaption time{color:var(--jc-text, #334155);font-variant-numeric:tabular-nums;font-weight:800}.problem-achievement-compact{display:none;align-items:center;flex:0 0 auto;gap:4px;border:1px solid rgb(61 157 235 / 38%);border-radius:999px;padding:2px 7px 2px 3px;background:#eaf6ffeb}.problem-achievement-compact img{width:30px;height:30px}.problem-achievement-compact figcaption{display:grid;gap:0;color:#226da9;font-size:9px;line-height:1.15;white-space:nowrap}.problem-achievement-compact figcaption strong{font-size:12px;letter-spacing:.02em}.problem-achievement.is-unlocked img{animation:problem-achievement-stamp .44s cubic-bezier(.2,.9,.28,1.22) both}@keyframes problem-achievement-stamp{0%{opacity:0;transform:rotate(-8deg) scale(.48)}62%{opacity:1;transform:rotate(2deg) scale(1.08)}to{opacity:1;transform:rotate(0) scale(1)}}@media(max-width:959px){.problem-achievement-full{display:none}.problem-achievement-compact{display:flex}}@media(max-width:520px){.problem-achievement-compact{padding-right:4px}.problem-achievement-compact figcaption span{display:none}}@media(prefers-reduced-motion:reduce){.problem-achievement.is-unlocked img{animation:none}}@media(forced-colors:active){.problem-achievement-compact{border:1px solid CanvasText;background:Canvas}}.problem-description-text mark{color:inherit;padding:0;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.problem-description-text mark[data-highlight-color=yellow],.problem-highlight-color span[data-highlight-color=yellow]{background:#ffe066}.problem-description-text mark[data-highlight-color=green],.problem-highlight-color span[data-highlight-color=green]{background:#a5e8aa}.problem-description-text mark[data-highlight-color=pink],.problem-highlight-color span[data-highlight-color=pink]{background:#ffb3c1}.problem-highlight-toolbar{position:fixed;z-index:1500;display:flex;align-items:center;gap:2px;padding:5px;border:1px solid #d5e2e8;border-radius:9px;background:#fff;box-shadow:0 4px 18px #123f5b24}.problem-highlight-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:0;padding:0;border:1px solid transparent;border-radius:6px;color:#506776;background:transparent;cursor:pointer;box-shadow:none}.problem-highlight-toolbar button:hover{background:#f0f5f7}.problem-highlight-toolbar button:focus-visible{outline:2px solid #078882;outline-offset:1px}.problem-highlight-color span{display:block;width:19px;height:19px;border:1px solid #19384415;border-radius:50%}.problem-highlight-toolbar .problem-highlight-erase{margin-left:3px}.problem-unavailable-page{display:grid;min-height:calc(100dvh - var(--workspace-header-height, 52px));place-items:center;padding:clamp(28px,7vw,72px) 20px;background:radial-gradient(circle at 20% 22%,color-mix(in srgb,var(--jc-primary-soft) 72%,transparent) 0 80px,transparent 81px),radial-gradient(circle at 82% 76%,color-mix(in srgb,var(--jc-primary-soft) 50%,transparent) 0 110px,transparent 111px),var(--jc-page);color:var(--jc-ink)}.problem-unavailable-card{display:grid;justify-items:center;width:min(100%,620px);border:1px solid var(--jc-line);border-radius:24px;padding:clamp(28px,6vw,52px) clamp(22px,6vw,64px) 36px;background:var(--jc-surface);box-shadow:0 18px 48px #172d3f17;text-align:center}.problem-unavailable-kicker{border-radius:999px;padding:6px 12px;background:var(--jc-primary-soft);color:color-mix(in srgb,var(--jc-primary) 90%,#000);font-size:13px;font-weight:750;letter-spacing:.04em}.problem-unavailable-visual{position:relative;display:grid;width:132px;height:122px;margin:18px 0 8px;place-items:center}.problem-unavailable-icon{position:relative;display:grid;width:112px;height:112px;border:1px solid color-mix(in srgb,var(--jc-primary) 22%,var(--jc-line));border-radius:34px;place-items:center;background:color-mix(in srgb,var(--jc-primary-soft) 55%,var(--jc-surface));transform:rotate(-3deg)}.problem-unavailable-icon .learning-nav-icon{transform:rotate(3deg)}.problem-unavailable-question{position:absolute;right:-7px;bottom:5px;display:grid;width:38px;height:38px;border:4px solid var(--jc-surface);border-radius:50%;place-items:center;background:var(--jc-primary);color:#fff;font-size:23px;font-weight:850;line-height:1;transform:rotate(3deg)}.problem-unavailable-spark{position:absolute;display:block;border-radius:999px;background:var(--jc-primary);opacity:.55}.problem-unavailable-spark.spark-one{top:8px;right:2px;width:9px;height:9px}.problem-unavailable-spark.spark-two{bottom:15px;left:0;width:6px;height:6px}.problem-unavailable-copy{display:grid;justify-items:center;gap:9px}.problem-unavailable-copy h1{margin:0;color:var(--jc-ink);font-size:clamp(25px,4vw,32px);line-height:1.3}.problem-unavailable-copy p{max-width:430px;margin:0;color:var(--jc-muted);font-size:15px;line-height:1.7}.problem-unavailable-id{margin-top:4px;border:1px solid var(--jc-line);border-radius:999px;padding:5px 10px;background:var(--jc-surface-soft);color:color-mix(in srgb,var(--jc-muted) 88%,#000);font-size:12px;font-weight:650;overflow-wrap:anywhere}.problem-unavailable-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}.problem-unavailable-actions button{min-width:132px;min-height:44px;border:1px solid var(--jc-line-strong);border-radius:10px;padding:9px 18px;font-weight:750;cursor:pointer}.problem-unavailable-retry{border-color:var(--jc-primary)!important;background:var(--jc-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--jc-primary) 22%,transparent)}.problem-unavailable-return{background:var(--jc-surface);color:var(--jc-primary)}.problem-unavailable-page.is-permanent .problem-unavailable-return{border-color:var(--jc-primary);background:var(--jc-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--jc-primary) 22%,transparent)}.problem-unavailable-retry:hover{background:color-mix(in srgb,var(--jc-primary) 90%,#000)}.problem-unavailable-return:hover{border-color:var(--jc-primary);background:var(--jc-primary-soft)}.problem-unavailable-page.is-permanent .problem-unavailable-return:hover{background:color-mix(in srgb,var(--jc-primary) 90%,#000);color:#fff}.problem-unavailable-actions button:focus-visible{outline:3px solid var(--jc-primary);outline-offset:3px}@media(max-width:520px){.problem-unavailable-page{padding:18px 14px 28px}.problem-unavailable-card{border-radius:18px;padding:28px 18px 24px}.problem-unavailable-visual{margin-top:12px;transform:scale(.9)}.problem-unavailable-actions,.problem-unavailable-actions button{width:100%}}@media(forced-colors:active){.problem-unavailable-page{background:Canvas}.problem-unavailable-card,.problem-unavailable-icon{border-color:CanvasText;box-shadow:none}.problem-unavailable-question,.problem-unavailable-retry,.problem-unavailable-page.is-permanent .problem-unavailable-return{background:Highlight;color:HighlightText}}:root{color:#1f2937;background:#f1f5f9;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select,input,textarea{font:inherit}.app-shell{min-height:100vh;background:#f1f5f9}.field{display:grid;gap:6px}.field span{color:#64748b;font-size:13px}.field select,.field input{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff}.problem-select{width:360px}.problem-sheet{display:grid;gap:14px;padding:24px 28px 22px;border-bottom:1px solid #dde5ef;background:#fff}.student-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-section-tabs button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;min-height:72px;border:1px solid #dbe5ef;border-radius:8px;padding:12px 14px;background:#f8fafc;color:#0f172a;text-align:left;cursor:pointer}.student-section-tabs button.active{border-color:#0284c7;background:#e0f2fe;box-shadow:inset 0 0 0 1px #7dd3fc}.student-section-tabs strong{font-size:18px}.student-section-tabs span{grid-column:1;color:#64748b;font-size:13px}.student-section-tabs em{grid-row:1 / span 2;grid-column:2;border-radius:999px;padding:5px 9px;background:#fff;color:#0369a1;font-size:13px;font-style:normal;font-weight:900}.student-task-strip{display:flex;align-items:center;gap:12px;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;background:#f0f9ff;color:#075985}.student-task-strip strong{white-space:nowrap}.student-task-strip div{display:flex;flex-wrap:wrap;gap:8px}.student-task-strip span,.student-problem-badges span{border-radius:999px;padding:4px 9px;background:#fff;color:#0369a1;font-size:12px;font-weight:900}.problem-breadcrumb{display:flex;align-items:center;gap:10px;border:1px solid #dbeafe;border-radius:8px;padding:10px 12px;background:#f8fbff}.problem-breadcrumb button{height:32px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#334155;font-weight:800;cursor:pointer}.problem-breadcrumb span{color:#0369a1;font-size:13px;font-weight:900}.student-problem-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.problem-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.problem-tools{display:grid;justify-items:end;gap:10px}.problem-id{display:inline-block;margin-bottom:5px;color:#fb6b21;font-size:14px;font-weight:700}.problem-heading h1{margin:0;font-size:28px;line-height:1.2}.problem-meta strong,.problem-sheet h2,.problem-section h3{color:#fb6b21}.problem-sheet h2,.problem-section h3{margin:0;font-size:16px}.problem-sheet p{max-width:1120px;margin:0;color:#4b5563;font-size:15px;line-height:1.75}.problem-section{display:grid;gap:10px;max-width:1120px;padding:14px 0;border-top:1px solid #edf2f7}.problem-section:first-of-type{border-top:0;padding-top:0}.problem-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.problem-meta{display:flex;flex-wrap:wrap;gap:24px;color:#667085;font-size:14px}.problem-preview{display:grid;gap:8px;margin:0}.problem-preview figcaption{color:#fb6b21;font-size:14px;font-weight:700}.problem-reference-image{display:grid;gap:8px;width:min(520px,100%);margin:4px 0 0}.problem-reference-image img{display:block;width:100%;max-height:320px;object-fit:contain;border:1px solid #dbe7f3;border-radius:8px;background:#fff}.problem-reference-image figcaption{color:#64748b;font-size:12px}.problem-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.problem-format-grid section{display:grid;align-content:start;gap:5px;min-width:0;padding:10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.problem-format-grid h3{font-size:13px}.problem-format-grid p{white-space:pre-line;font-size:12px;line-height:1.6}.preview-thumb{position:relative;display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.preview-thumb svg,.preview-modal svg{width:100%;border:1px solid #d6deea;border-radius:6px;background:#fff}.preview-thumb svg{height:150px}.preview-thumb span{position:absolute;right:8px;bottom:8px;padding:3px 8px;border-radius:4px;background:#0f172ab8;color:#fff;font-size:12px;font-weight:700}.preview-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;padding:28px;background:#0f172a75}.preview-modal{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1080px,94vw);max-height:92vh;padding:14px;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a47}.preview-modal-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-modal-title h2{margin:0;color:#fb6b21;font-size:18px}.preview-modal-title button{min-height:32px;border:1px solid #cbd5e1;border-radius:5px;padding:0 12px;background:#f8fafc;color:#334155;cursor:pointer}.preview-modal svg{height:min(72vh,700px)}.preview-guide line{stroke:#e8eef7;stroke-width:1}.preview-guide .preview-axis{stroke:#94a3b8;stroke-width:1.5}.preview-guide circle,.preview-hint circle{fill:#0f172a}.preview-guide text,.preview-hint text{fill:#0f172a;font-size:4px;font-weight:700}.preview-hint text{fill:#1d4ed8;font-size:3.6px}.preview-image-placeholder rect,.canvas-image-placeholder rect,.canvas-bg-placeholder rect{fill:#eff6ff;stroke:#2563eb;stroke-dasharray:5 4}.preview-image-placeholder text,.canvas-image-placeholder text,.canvas-bg-placeholder text{fill:#1d4ed8;font-size:11px;font-weight:900}.tag-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:420px}.tag-row span{padding:4px 9px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px}dl{display:grid;grid-template-columns:82px 1fr;gap:6px 12px;margin:0;color:#4b5563;font-size:14px}dt{color:#64748b}dd{margin:0}.requirement-list{max-width:760px}.mode-support-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mode-support-line span{padding:3px 7px;border-radius:999px;font-size:12px;font-weight:800}.mode-support-line .supported{background:#ecfdf5;color:#15803d}.mode-support-line .unsupported{background:#fff7ed;color:#c2410c}.mode-support-line small{color:#64748b}.sample-list{display:grid;gap:12px}.sample-card{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfdff}.sample-copy{display:grid;gap:10px}.sample-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sample-input-copy-button{flex:0 0 auto;min-height:28px;border:1px solid #9fc8d5;border-radius:5px;padding:3px 9px;background:#fff;color:#12687f;font-size:11px;font-weight:800;cursor:pointer}.sample-input-copy-button:hover{border-color:#4d99af;background:#eef9fb}.sample-input-copy-button.copied{border-color:#86caa7;background:#ecfdf5;color:#15803d}.sample-input-copy-button.error{border-color:#f3a8a8;background:#fff1f2;color:#b91c1c}.sample-copy dd{white-space:pre-line}.solve-layout{display:grid;grid-template-columns:minmax(420px,var(--editor-pane, 55%)) 12px minmax(360px,1fr);gap:10px;padding:18px 28px 28px;align-items:stretch}.split-resizer{align-self:stretch;display:grid;place-items:center;min-height:calc(100vh - 330px);border-radius:6px;cursor:col-resize;touch-action:none;outline:none}.split-resizer:before{content:"";width:4px;height:64px;border-radius:999px;background:#cbd5e1}.split-resizer:hover:before,.split-resizer:focus-visible:before{background:#60a5fa}.editor-panel,.result-panel{min-height:calc(100vh - 330px);border:1px solid #cfd8e3;border-radius:6px;background:#fff;overflow:hidden}.editor-panel{display:grid;grid-template-rows:auto auto 1fr}.editor-panel-blockly{grid-template-rows:auto auto minmax(360px,1fr) auto}.result-panel{display:grid;grid-template-rows:auto minmax(360px,1fr) auto auto auto;gap:12px;padding-bottom:12px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 14px;border-bottom:1px solid #e2e8f0;background:#fff3e4}.panel-title-row h2{margin:0;color:#fb6b21;font-size:17px}.inline-input{display:grid;grid-template-columns:auto 210px;align-items:center;gap:8px}.inline-input span{white-space:nowrap}.mode-tabs{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mode-tabs button,.action-row button,.command-grid button,.blockly-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;background:#fff;color:#1e293b;cursor:pointer}.mode-tabs button.active{border-color:#1d6ca1;background:#e0f2fe;color:#075985}.tab-mark,.action-mark{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:4px;background:#eef2f7;color:#334155;font-size:12px;font-weight:700;line-height:1}.editor-body{min-height:0;overflow:hidden}.editor-panel-click .editor-body{overflow:auto}.editor-stack{position:relative;display:grid;grid-template-rows:auto auto auto minmax(260px,1fr);height:100%;min-height:0}.code-editor,.code-highlight{width:100%;height:100%;min-height:480px;border:0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--code-font-size, 15px);line-height:1.55;tab-size:4}.code-editor{resize:none;outline:none;background:#0b1120;color:#e5f0ff}.code-editor-wrap{position:relative;min-height:480px;height:100%;background:#0b1120}.code-highlight{position:absolute;inset:0;margin:0;color:#e5f0ff;white-space:pre;overflow:hidden;pointer-events:none}.editor-line-numbers{position:absolute;z-index:2;inset:0 auto 0 0;width:46px;min-height:480px;margin:0;border:0;border-right:1px solid rgba(148,163,184,.28);padding:16px 10px 16px 6px;overflow:hidden;background:#08101f;color:#94a3b8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--code-font-size, 15px);line-height:1.55;text-align:right;user-select:none;pointer-events:none;white-space:pre}.code-highlight,.code-textarea,.fill-highlight,.fill-textarea{padding-left:62px}.code-textarea{position:absolute;inset:0;color:transparent;caret-color:#38bdf8;background:transparent;white-space:pre;overflow-wrap:normal}.code-textarea::selection{background:#38bdf861}.fill-editor-wrap{position:relative;min-height:360px;height:100%;background:#0b1120}.fill-highlight,.fill-textarea{position:absolute;inset:0;width:100%;height:100%;min-height:360px;margin:0;border:0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--code-font-size, 15px);font-weight:400;font-variant-ligatures:none;letter-spacing:0;tab-size:4;line-height:1.55;white-space:pre;overflow-wrap:normal;overflow:auto}.fill-highlight,.fill-textarea{padding-left:62px}.fill-highlight{color:#e5f0ff;overflow:hidden;pointer-events:none}.fill-textarea{color:transparent;caret-color:#38bdf8;background:transparent;resize:none}.fill-textarea::selection{background:#38bdf861}.fill-slot{display:inline-block;min-width:34px;border-radius:4px;background:#fde047;color:#111827;text-align:center;font-weight:800;box-shadow:0 0 0 1px #facc158c}.tok-slot{display:inline;border-radius:4px;background:#fde047;color:#111827;text-align:center;font-weight:800;box-shadow:0 0 0 1px #facc158c}.fill-highlight span{font-weight:inherit}.tok-keyword{color:#fbbf24;font-weight:700}.tok-command{color:#38bdf8;font-weight:700}.tok-number{color:#a7f3d0}.tok-string{color:#fca5a5}.tok-comment{color:#94a3b8}.tok-operator{color:#f472b6;font-weight:700}.tok-punctuation{color:#c4b5fd;font-weight:700}.command-grid{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.command-grid-grouped{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;max-height:172px;overflow-y:auto;overscroll-behavior:contain}.command-column{display:grid;gap:6px;min-width:0}.command-column h3{position:sticky;top:-8px;z-index:1;margin:-8px 0 0;padding:8px 0 4px;background:#f8fafc;color:#0f5f8f;font-size:13px;font-weight:900}.command-column>div{display:flex;flex-wrap:wrap;gap:6px}.editor-panel-click .command-grid button{min-height:30px;padding:0 10px}.editor-panel-click .command-column button{min-width:46px;padding:0 9px}.allowed-line{padding:8px 10px;color:#64748b;font-size:13px;border-bottom:1px solid #e2e8f0}.color-hints{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:32px;overflow-x:auto;padding:3px 10px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.color-hints button{display:inline-flex;align-items:center;flex:0 0 auto;gap:5px;min-height:26px;border:1px solid #cbd5e1;border-radius:4px;padding:0 8px;background:#fff;color:#334155;font-size:13px;line-height:1;cursor:pointer}.color-hints span{width:15px;height:15px;border:1px solid #94a3b8;border-radius:2px}.asset-command-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:34px;overflow-x:auto;padding:4px 10px;border-bottom:1px solid #e2e8f0;background:#fff7ed}.asset-command-strip button{flex:0 0 auto;min-height:28px;border:1px solid #fed7aa;border-radius:6px;padding:0 9px;background:#fff;color:#9a3412;font-size:12px;font-weight:900;cursor:pointer}.asset-command-popover{position:absolute;top:194px;left:14px;right:14px;z-index:15;display:grid;gap:8px;max-height:190px;border:1px solid #fdba74;border-radius:8px;padding:10px;overflow:auto;background:#fff7ed;box-shadow:0 16px 32px #0f172a2e}.asset-command-popover>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#9a3412;font-size:13px}.asset-command-popover>div:first-child button{width:28px;min-height:28px;border:1px solid #fed7aa;border-radius:6px;background:#fff;color:#9a3412;cursor:pointer}.asset-command-list{display:flex;flex-wrap:wrap;gap:7px}.asset-command-list button{display:inline-grid;gap:2px;min-height:42px;border:1px solid #fed7aa;border-radius:7px;padding:5px 10px;background:#fff;color:#9a3412;font-size:13px;font-weight:900;cursor:pointer}.asset-command-list small{color:#c2410c;font-size:11px;font-weight:700}.asset-command-list p{margin:0;color:#9a3412;font-size:13px}@media(max-width:900px){.command-grid-grouped{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.asset-command-popover{top:242px}}.blockly-shell{position:relative;display:grid;grid-template-rows:auto 1fr;height:100%}.blockly-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.blockly-toolbar .main-block-button{border-color:#ff8a00;background:#fff3d8;color:#b94700;font-weight:700}.blockly-toolbar-group{display:inline-flex;align-items:center;gap:6px;padding:3px;border:1px solid #dbe5ef;border-radius:7px;background:#fff}.blockly-toolbar-group button{min-height:30px;border-color:#bae6fd;background:#f0f9ff;color:#075985;font-size:13px;font-weight:800}.blockly-host{height:100%;min-height:0}.blockly-workspace-wrap{position:relative;height:100%;min-height:0;overflow:hidden}.blocklyZoom,.blocklyTrash{display:none!important}.blockly-danger-button{border-color:#fecaca!important;background:#fff1f2!important;color:#be123c!important}.generated-code-panel{display:grid;gap:6px;border-top:1px solid #dbe5ef;padding:8px 10px 10px;background:#f8fafc}.generated-code-panel div{color:#1d6ca1;font-size:12px;font-weight:800}.generated-code-panel pre{max-height:150px;overflow:auto;margin:0;padding:9px 10px;border-radius:5px;background:#0b1120;color:#e5f0ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.blockly-error{align-self:center;color:#b91c1c;font-size:13px}.loading-panel{display:grid;height:100%;min-height:480px;place-items:center;color:#64748b;background:#f8fafc}.action-row{display:flex;justify-content:flex-end;gap:8px}.code-zoom-controls{display:inline-flex;gap:4px;padding-right:4px}.code-zoom-controls button{min-width:42px;padding:0 9px;font-weight:800}.code-zoom-controls button:disabled{opacity:.45;cursor:not-allowed}.action-row button:disabled,.creation-actions button:disabled{opacity:.45;cursor:not-allowed}.action-row .primary{border-color:#1d6ca1;background:#1d6ca1;color:#fff}.action-row .primary.submitted{border-color:#16a34a;background:#16a34a}.action-row .primary .action-mark{background:#ffffff2e;color:#fff}.canvas-panel{display:grid;min-height:360px;padding:12px}.canvas{width:100%;height:100%;min-height:360px;border:1px solid #d6deea;border-radius:6px;background:#fff}.canvas-view{display:grid;grid-template-rows:minmax(0,1fr);width:100%;min-width:0;min-height:0}.canvas-view>.canvas{display:block;min-width:0}.canvas-coordinate-grid .canvas-grid-line{stroke:#edf1f5;stroke-width:1;stroke-dasharray:5 5}.canvas-coordinate-grid .canvas-coordinate-axis{stroke:#d3dbe3;stroke-width:1.1}.canvas-coordinate-grid text{fill:#a3aebb;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:1.5;stroke-linejoin:round;font-variant-numeric:tabular-nums;pointer-events:none}.canvas-coordinate-grid .canvas-y-label{fill:#a3aebb}.console-panel{display:grid;gap:8px;margin:0 12px;padding:10px;border-radius:6px;background:#ffddb8}.console-row{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px}.console-row span{color:#1686e8;font-weight:800}.console-row textarea{width:100%;min-height:36px;max-height:92px;resize:vertical;border:1px solid #d8c0a2;border-radius:5px;padding:7px 9px;background:#fff;color:#1f2937;outline:none}.console-row textarea[readonly]{background:#f7f7f7;color:#475569}.console-row textarea.awaiting-input{border-color:#fb923c;background:#fff7ed;box-shadow:0 0 0 3px #fb923c38}.problem-workspace .console-panel{border:1px solid #dce5ea;background:#fff;box-shadow:0 1px 2px #0f172a0a}.problem-workspace .console-row{padding:8px;border:1px solid transparent;border-radius:6px}.problem-workspace .console-row-input{border-color:#c9dce8;background:#f5f9fc}.problem-workspace .console-row-output{border-color:#c8ddd8;background:#f3f9f7}.problem-workspace .console-row-input>span{color:#27627d}.problem-workspace .console-row-output>span{color:#18766d}.problem-workspace .console-row-input textarea{border-color:#b9cedb;background:#fff}.problem-workspace .console-row textarea{font-family:Consolas,SFMono-Regular,Liberation Mono,PingFang SC,Microsoft YaHei,monospace;font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0}.problem-workspace .console-row-output textarea[readonly]{border-color:#bcd4ce;background:#fff;color:#263238}.problem-workspace .console-row-input textarea.awaiting-input{border-color:#5b9fbe;background:#fff;box-shadow:0 0 0 3px #5b9fbe2e}.feedback{margin:0 12px;padding:12px;border-radius:6px;border:1px solid #cbd5e1;background:#fff}.feedback strong{display:inline-flex;margin-bottom:6px}.feedback p,.feedback small{margin:0;line-height:1.45}.feedback-AC{border-color:#86efac;background:#f0fdf4}.feedback-WA,.feedback-CE,.feedback-RE,.feedback-TLE{border-color:#fecaca;background:#fff7f7}.submit-popup-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:#0f172a6b}.submit-popup{position:relative;display:grid;justify-items:center;gap:10px;width:min(420px,92vw);padding:30px 28px 24px;border-radius:8px;border:1px solid #d8dee8;background:#fff;box-shadow:0 24px 72px #0f172a3d;text-align:center}.submit-popup-close{position:absolute;top:10px;right:10px;display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#64748b;cursor:pointer}.submit-popup-mark{display:inline-grid;place-items:center;width:78px;min-width:78px;height:78px;box-sizing:border-box;flex:0 0 78px;border-radius:50%;border:4px solid currentColor;font-size:26px;font-weight:900;line-height:1}.submit-popup h2{margin:4px 0 0;font-size:26px;line-height:1.2}.submit-popup-score{width:fit-content;padding:5px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:14px;font-weight:800}.submit-popup p{margin:0;color:#334155;font-size:16px;line-height:1.55}.submit-popup small{display:block;color:#64748b;line-height:1.45}.submit-popup-action{min-height:36px;min-width:96px;margin-top:4px;border:0;border-radius:6px;padding:0 16px;color:#fff;font-weight:800;cursor:pointer}.submit-popup-AC{border-color:#86efac;background:#f0fdf4}.submit-popup-AC .submit-popup-mark,.submit-popup-AC h2{color:#15803d}.submit-popup-AC .submit-popup-action{background:#16a34a}.submit-popup-WA,.submit-popup-CE,.submit-popup-RE,.submit-popup-TLE{border-color:#fecaca;background:#fff7f7}.submit-popup-WA .submit-popup-mark,.submit-popup-CE .submit-popup-mark,.submit-popup-RE .submit-popup-mark,.submit-popup-TLE .submit-popup-mark,.submit-popup-WA h2,.submit-popup-CE h2,.submit-popup-RE h2,.submit-popup-TLE h2{color:#b91c1c}.submit-popup-INPUT{border-color:#edc997;background:#fffaf0}.submit-popup-INPUT .submit-popup-mark,.submit-popup-INPUT h2{color:#9a5700}.submit-popup-WA .submit-popup-action,.submit-popup-CE .submit-popup-action,.submit-popup-RE .submit-popup-action,.submit-popup-TLE .submit-popup-action{background:#dc2626}.history-modal{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(760px,94vw);max-height:86vh;padding:16px;border-radius:8px;border:1px solid #d8dee8;background:#fff;box-shadow:0 24px 72px #0f172a3d}.history-modal-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.history-modal-title h2{margin:0;color:#fb6b21;font-size:20px}.history-modal-title p{margin:4px 0 0;color:#64748b;font-size:13px}.history-modal-title button{min-height:32px;border:1px solid #cbd5e1;border-radius:5px;padding:0 12px;background:#f8fafc;color:#334155;cursor:pointer}.history-empty{display:grid;min-height:180px;place-items:center;color:#64748b;background:#f8fafc;border-radius:6px}.history-list{display:grid;gap:10px;overflow:auto;padding-right:4px}.history-item{display:grid;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.history-item-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px}.history-item-head strong{color:#334155}.history-item-head span{color:#64748b;font-size:13px}.history-item-head b{padding:3px 8px;border-radius:999px;font-size:13px}.history-item p,.history-item small{margin:0;line-height:1.45}.history-item p{color:#1f2937}.history-item small{color:#64748b}.history-meta,.history-tests{display:flex;flex-wrap:wrap;gap:6px;color:#64748b;font-size:12px}.history-meta span,.history-tests span{padding:3px 7px;border-radius:4px;background:#f1f5f9}.history-code{border-top:1px dashed #e2e8f0;padding-top:8px}.history-code div{color:#1d6ca1;font-size:13px;font-weight:700;margin-bottom:6px}.history-code pre{max-height:220px;overflow:auto;margin:0;padding:10px;border-radius:5px;background:#0b1120;color:#e5f0ff;font-size:13px;line-height:1.5}.history-AC{border-color:#bbf7d0;background:#f0fdf4}.history-AC .history-item-head b{background:#dcfce7;color:#15803d}.history-WA,.history-CE,.history-RE,.history-TLE{border-color:#fecaca;background:#fff7f7}.history-WA .history-item-head b,.history-CE .history-item-head b,.history-RE .history-item-head b,.history-TLE .history-item-head b{background:#fee2e2;color:#b91c1c}.submit-list{display:grid;gap:8px;margin:0 12px}.submit-list h2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:15px}.submit-list h2 span{padding:3px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:800}.submit-list div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;border-radius:6px;font-size:13px}.test-case-info{display:grid;gap:3px;min-width:0}.test-case-info b{color:#334155}.test-case-info small{color:#64748b;line-height:1.35}.row-ac{background:#dcfce7}.row-wa{background:#fee2e2}.workspace-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:10px 28px;border-bottom:1px solid #dbe5ef;background:#fffffff0;backdrop-filter:blur(10px)}.workspace-nav>div{display:flex;align-items:baseline;gap:10px}.workspace-nav strong{color:#0f172a;font-size:18px}.workspace-nav span{color:#64748b;font-size:13px}.workspace-nav nav{display:inline-flex;gap:6px;padding:4px;border:1px solid #dbe5ef;border-radius:8px;background:#f8fafc}.workspace-nav button{min-height:34px;border:0;border-radius:6px;padding:0 14px;background:transparent;color:#475569;font-weight:800;cursor:pointer}.workspace-nav button.active{background:#0f766e;color:#fff;box-shadow:0 8px 20px #0f766e33}.session-chip{display:flex;align-items:center;gap:10px}.workspace-session,.researcher-workspace-switch{display:flex;align-items:center;gap:8px}.researcher-workspace-switch{padding:3px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc}.researcher-workspace-switch label{display:flex;align-items:center;gap:6px;padding-left:4px}.researcher-workspace-switch label span{font-size:12px;font-weight:800;white-space:nowrap}.researcher-workspace-switch select{max-width:220px;height:34px;border:1px solid #cbd5e1;border-radius:5px;padding:0 28px 0 8px;background:#fff;color:#1e293b;font:inherit}.session-chip span{color:#0f172a;font-size:15px;font-weight:800}.session-chip button,.back-to-portal{height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;background:#f8fafc;color:#334155;white-space:nowrap;cursor:pointer}.login-panel{display:grid;gap:22px;max-width:1180px;margin:28px auto;padding:28px}.login-copy{display:grid;gap:8px}.login-copy span,.student-hero span,.student-page-head span,.course-summary span{color:#0f766e;font-size:14px;font-weight:900}.login-copy h1,.student-hero h1,.student-page-head h2{margin:0;color:#0f172a}.login-copy p,.student-hero p,.student-page-head p,.course-summary p{margin:0;color:#64748b;line-height:1.7}.login-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.login-grid section,.student-dashboard,.student-page,.course-summary,.student-table-card{border:1px solid #dbe5ef;border-radius:8px;background:#fff}.login-grid section{display:grid;align-content:start;gap:10px;padding:18px}.login-grid h2{margin:0 0 4px;font-size:18px}.login-grid button{display:grid;gap:4px;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc;color:#0f172a;text-align:left;cursor:pointer}.login-grid button:hover,.student-problem-card:hover,.student-task-card:hover,.course-lesson-card:hover{border-color:#38bdf8;box-shadow:0 8px 24px #0e749014}.login-grid button span{color:#64748b;font-size:13px}.student-top-nav{position:sticky;top:var(--workspace-header-height, 52px);z-index:25;display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid #dbe5ef;background:#fff}.student-top-nav button{height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 14px;background:#f8fafc;color:#0f172a;font-weight:800;cursor:pointer}.student-top-nav button.active{border-color:#0f766e;background:#ccfbf1;color:#0f766e}.student-dashboard,.student-page{display:grid;gap:18px;margin:20px 24px;padding:20px}.student-hero{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid #edf2f7}.student-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-metric-grid article{display:grid;gap:5px;border:1px solid #dbeafe;border-radius:8px;padding:14px;background:#f8fbff}.student-metric-grid span{color:#64748b;font-size:13px;font-weight:800}.student-metric-grid strong{color:#0f172a;font-size:30px;line-height:1}.student-metric-grid p{margin:0;color:#64748b;font-size:13px}.student-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-source-grid button{display:grid;gap:8px;min-height:86px;border:1px solid #cbd5e1;border-radius:8px;padding:14px;background:#fff;color:#0f172a;text-align:left;cursor:pointer}.student-source-grid strong{font-size:18px}.student-source-grid span{color:#64748b;font-size:13px}.student-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.student-page-head select{min-width:260px;height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff}.student-bank-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr));gap:10px;border-block:1px solid #e2e8f0;padding:12px 0}.student-bank-filters label{display:grid;gap:5px;min-width:0;color:#475569;font-size:12px;font-weight:900}.student-bank-filters input,.student-bank-filters select{width:100%;min-width:0;height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#0f172a}.course-summary{display:grid;gap:8px;padding:14px;background:#f8fafc}.course-summary strong{font-size:20px}.course-lesson-list,.student-task-problems,.student-bank-grid{display:grid;gap:12px}.course-lesson-card,.student-task-card,.student-problem-card{border:1px solid #dbe5ef;border-radius:8px;background:#fff}.course-lesson-card{display:grid;gap:14px;padding:16px}.course-lesson-card.locked{background:#f8fafc;opacity:.82}.course-lesson-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.course-lesson-head h3{margin:0;font-size:18px}.course-lesson-head span,.course-lesson-head b{border-radius:999px;padding:4px 9px;background:#e0f2fe;color:#0369a1;font-size:12px}.course-lesson-head b{background:#dcfce7;color:#15803d}.course-lesson-card.locked .course-lesson-head b{background:#e5e7eb;color:#64748b}.lesson-goals{display:grid;grid-template-columns:repeat(4,auto minmax(0,1fr));gap:8px 10px;margin:0;color:#334155}.lesson-goals dt{color:#fb6b21;font-weight:900}.lesson-goals dd{margin:0}.lesson-problem-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-problem-groups section{display:grid;gap:10px;border-top:1px solid #edf2f7;padding-top:12px}.lesson-problem-groups h4{margin:0;color:#0f172a}.student-problem-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;scroll-margin-block:110px}.student-problem-card h3,.student-task-card h3{margin:4px 0;color:#0f172a;font-size:17px}.student-problem-card p,.student-task-card p,.locked-note{margin:0;color:#64748b;font-size:13px;line-height:1.55}.student-problem-card>div>span,.student-task-card>div>span{color:#64748b;font-size:12px;font-weight:800}.student-card-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:220px}.student-card-tags span,.student-status-chip{border-radius:999px;padding:4px 8px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800}.student-status-chip.status-AC{background:#dcfce7;color:#15803d}.student-status-chip.status-WA,.student-status-chip.status-CE,.student-status-chip.status-RE,.student-status-chip.status-TLE{background:#fee2e2;color:#b91c1c}.submission-result-chip{display:inline-grid;place-items:center;min-width:38px;min-height:24px;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:900;line-height:1}.submission-result-chip.is-ac{background:#dcfce7;color:#15803d}.submission-result-chip.is-failed{background:#fee2e2;color:#b91c1c}.student-problem-card button{height:36px;border:1px solid #0ea5e9;border-radius:6px;padding:0 12px;background:#e0f2fe;color:#0369a1;font-weight:900;cursor:pointer}.student-task-card{display:grid;gap:12px;padding:16px}.student-table-card{overflow:hidden}.student-table-card table{width:100%;border-collapse:collapse}.student-table-card th,.student-table-card td{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:left;font-size:14px}.student-table-card th{background:#f8fafc;color:#475569}.student-empty{padding:18px;color:#64748b}.ai-help-button{position:fixed;right:26px;bottom:28px;z-index:20;height:54px;min-width:74px;border:0;border-radius:999px;background:#0f766e;color:#fff;box-shadow:0 12px 30px #0f766e47;font-size:18px;font-weight:900;cursor:pointer}.test-identity-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:42px;padding:8px 28px;border-bottom:1px solid #dbe5ef;background:#f8fafc}.test-identity-bar label,.test-identity-bar>div{display:flex;align-items:center;gap:8px;min-width:0}.test-identity-bar span{color:#64748b;font-size:12px;font-weight:900}.test-identity-bar select{max-width:min(560px,58vw);min-height:30px;border:1px solid #cbd5e1;border-radius:6px;padding:0 9px;background:#fff;color:#0f172a;font-weight:800}.test-identity-bar small{max-width:420px;overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.test-identity-bar strong{color:#0f766e;font-size:13px}.m4-dashboard{display:grid;gap:18px;padding:22px 28px 32px}.m4-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m4-dashboard-hero span,.m4-metric span,.m4-role-card strong{color:#64748b;font-size:13px;font-weight:800}.m4-dashboard-hero h1{margin:6px 0;color:#0f172a;font-size:24px}.m4-dashboard-hero p{max-width:760px;margin:0;color:#475569;line-height:1.7}.m4-role-card{display:grid;gap:6px;min-width:220px;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.m4-role-card b{color:#0f766e;font-size:20px}.m4-role-card small,.m4-task-item small,.m4-course-list span{color:#64748b}.m4-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.m4-metric{display:grid;gap:6px;padding:14px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m4-metric strong{color:#0f172a;font-size:26px}.m4-metric small{color:#64748b;font-size:13px}.m4-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:14px;align-items:start}.m4-panel{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m4-panel-wide{grid-row:span 2}.m4-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.m4-panel-title h2{margin:0;color:#0f172a;font-size:18px}.m4-panel-title div{display:inline-flex;gap:8px}.m4-panel button{min-height:34px;border:1px solid #99d5cf;border-radius:6px;padding:0 12px;background:#ecfdf5;color:#0f766e;font-weight:800;cursor:pointer}.m4-panel table{width:100%;border-collapse:collapse;font-size:14px}.m4-panel th,.m4-panel td{border-top:1px solid #e2e8f0;padding:10px 8px;text-align:left}.m4-panel th{color:#64748b;font-size:12px;font-weight:800}.m4-task-list,.m4-course-list{display:grid;gap:10px}.m4-task-item,.m4-course-list li{display:grid;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfdff}.m4-task-item strong,.m4-course-list strong{color:#0f172a}.m4-task-item span{color:#334155;font-size:14px}.m4-course-list{margin:0;padding:0;list-style:none}.m3-admin{display:grid;gap:18px;padding:22px 28px 32px}.m3-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #dbe5ef;border-left:5px solid #0f766e;border-radius:8px;background:#fff}.m3-admin-teacher .m3-hero{border-left-color:#2563eb}.m3-admin-researcher .m3-hero{border-left-color:#0f766e}.m3-admin-admin .m3-hero{border-left-color:#b45309}.m3-hero span{color:#0f766e;font-size:13px;font-weight:900}.m3-hero h1{margin:4px 0 6px;color:#0f172a;font-size:26px;line-height:1.2}.m3-hero p{margin:0;color:#64748b;font-size:14px}.m3-hero label{display:grid;gap:6px;min-width:180px;color:#64748b;font-size:13px;font-weight:800}.m3-hero select,.m3-actions select{height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#1f2937}.m3-current-role{display:grid;gap:6px;min-width:132px;border:1px solid #dbe5ef;border-radius:8px;padding:10px 12px;background:#f8fafc}.m3-current-role span{color:#64748b;font-size:12px;font-weight:800}.m3-current-role strong{color:#0f172a;font-size:18px}.m3-hero select:disabled{background:#f1f5f9;color:#475569;opacity:1}.m3-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.m3-metric-card{display:grid;gap:5px;padding:14px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m3-metric-card span{color:#64748b;font-size:13px;font-weight:800}.m3-metric-card strong{color:#0f172a;font-size:28px;line-height:1.15}.m3-metric-card p{margin:0;color:#64748b;font-size:13px}.m3-tabs{display:flex;gap:8px;padding:6px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m3-tabs button,.m3-actions button,.m3-link-button{min-height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;background:#fff;color:#1e293b;font-weight:800;cursor:pointer}.m3-tabs button.active{border-color:#0f766e;background:#ccfbf1;color:#115e59}.m3-workflow-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.m3-workflow-tabs button{display:flex;align-items:center;justify-content:space-between;min-height:48px;border:1px solid #dbe5ef;border-radius:8px;padding:0 14px;background:#fff;color:#0f172a;cursor:pointer}.m3-workflow-tabs button.active{border-color:#0f766e;background:#ecfdf5;box-shadow:inset 0 0 0 1px #5eead4}.m3-admin-teacher .m3-workflow-tabs button.active{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #93c5fd}.m3-workflow-tabs strong{font-size:16px}.m3-workflow-tabs span{border-radius:999px;padding:3px 9px;background:#e2e8f0;color:#475569;font-size:12px;font-weight:900}.m3-panel{display:grid;gap:14px;padding:16px;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.m3-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.m3-panel-head h2{margin:0 0 5px;color:#0f172a;font-size:20px}.m3-panel-head p{margin:0;color:#64748b;font-size:14px}.m3-toast{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;background:#f0f9ff;color:#075985;font-size:14px;font-weight:800}.m3-toast button{min-height:30px;border:1px solid #7dd3fc;border-radius:6px;padding:0 10px;background:#fff;color:#0369a1;font-weight:900;cursor:pointer}.m3-role-scope{display:flex;align-items:center;gap:12px;border:1px solid #dbe5ef;border-radius:8px;padding:10px 12px;background:#fff;color:#334155;font-size:13px}.m3-role-scope strong{color:#0f172a}.m3-role-scope div{display:flex;flex-wrap:wrap;gap:6px}.m3-role-scope span{border-radius:999px;padding:3px 9px;background:#e0f2fe;color:#075985;font-weight:900}.m3-admin-teacher .m3-role-scope span{background:#dbeafe;color:#1d4ed8}.m3-admin-admin .m3-role-scope span{background:#fef3c7;color:#92400e}.m3-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.m3-actions button{border-color:#0f766e;background:#0f766e;color:#fff}.m3-inline-search{display:inline-grid;grid-template-columns:auto minmax(150px,220px);align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:900}.m3-inline-search input{height:36px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#0f172a}.m3-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.m3-problem-action-panel{display:grid;gap:12px;scroll-margin-top:92px}.m3-table{width:100%;min-width:1160px;border-collapse:collapse;font-size:13px}.m3-table.compact{min-width:760px}.m3-table th,.m3-table td{border-bottom:1px solid #e5edf5;padding:10px 11px;text-align:left;vertical-align:top}.m3-table th{position:sticky;top:0;z-index:1;background:#f1f5f9;color:#475569;font-size:12px;font-weight:900}.m3-table tr:last-child td{border-bottom:0}.m3-table tr.selected td{background:#ecfeff}.m3-table tbody tr:hover td{background:#f8fafc}.m3-table tbody tr.selected:hover td{background:#ecfeff}.m3-table strong{display:block;color:#0f172a}.m3-table small{display:block;margin-top:3px;color:#64748b}.m3-difficulty-chip{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:900;white-space:nowrap}.m3-empty-cell{padding:24px!important;color:#64748b;text-align:center!important}.m3-tag-list{display:flex;flex-wrap:wrap;gap:5px}.m3-tag-list span,.m3-mode-dot{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:0 7px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:800}.m3-mode-dot{margin:0 4px 4px 0;background:#f1f5f9;color:#475569}.m3-status,.m3-result{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:900}.m3-status.ok,.m3-result.ok{background:#dcfce7;color:#15803d}.m3-status.warn{background:#fef3c7;color:#b45309}.m3-result.bad{background:#fee2e2;color:#b91c1c}.m3-link-button{min-height:28px;border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.m3-link-button.danger{border-color:#fecaca;background:#fff1f2;color:#be123c}.m3-row-actions{display:flex;flex-wrap:wrap;gap:6px}.m3-form-card,.m3-answer-drawer,.m3-detail-card{display:grid;gap:12px;border:1px solid #cfe0ef;border-radius:8px;padding:14px;background:#f8fafc}.m3-form-card h3,.m3-answer-drawer h3,.m3-detail-card h3{margin:0;color:#0f172a;font-size:18px}.m3-form-card p,.m3-answer-drawer p,.m3-detail-card p{margin:4px 0 0;color:#64748b;font-size:13px}.m3-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.m3-form-grid.contest{grid-template-columns:1fr 1.5fr 1fr 1fr}.m3-form-grid label{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:900}.m3-form-grid input,.m3-form-grid select,.m3-form-grid textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;background:#fff;color:#0f172a;font:inherit}.m3-form-grid textarea{min-height:96px;resize:vertical;line-height:1.5}.m3-form-grid .wide{grid-column:span 2}.m3-form-grid .full{grid-column:1 / -1}.m3-field-error{color:#be123c!important;font-size:12px}.m3-problem-upload-form{border-color:#99d5cf;background:#f0fdfa}.m3-problem-upload-form .wide{grid-column:1 / -1}.m3-problem-upload-form small{color:#0f766e;font-size:12px}.m3-knowledge-picker{min-width:0;margin:0;border:1px solid #cbd5e1;border-radius:6px;padding:10px;background:#fff}.m3-knowledge-picker legend{padding:0 5px;color:#475569;font-size:12px;font-weight:900}.m3-knowledge-picker>div{display:flex;flex-wrap:wrap;gap:7px}.m3-knowledge-picker label{display:inline-flex;grid-template-columns:none;align-items:center;gap:6px;min-height:30px;border:1px solid #dbe5ef;border-radius:6px;padding:0 9px;background:#f8fafc;color:#334155;cursor:pointer}.m3-knowledge-picker input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;accent-color:#0f766e}.m3-sample-form{border-color:#bae6fd;background:#f0f9ff}.m3-sample-form .m3-form-grid .wide{grid-column:span 4}.m3-sample-form textarea{min-height:120px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.m3-sample-form small{color:#0369a1;font-size:12px}.m3-asset-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.m3-asset-rules article{display:grid;gap:5px;border:1px solid #fed7aa;border-radius:8px;padding:10px;background:#fff7ed}.m3-asset-rules strong{color:#9a3412;font-size:14px}.m3-asset-rules span,.m3-asset-rules small{color:#64748b;font-size:12px}.m3-asset-form{border-color:#fed7aa;background:#fff7ed}.m3-asset-form-preview{display:grid;align-content:center;justify-items:start;min-height:80px}.m3-asset-form-preview img{max-width:180px;max-height:92px;border:1px solid #fed7aa;border-radius:6px;object-fit:contain;background:#fff}.m3-asset-form-preview audio{max-width:260px}.m3-asset-preview{display:inline-grid;place-items:center;width:70px;height:48px;overflow:hidden;border:1px solid #dbe5ef;border-radius:6px;background:#f8fafc}.m3-asset-preview.compact{width:34px;height:28px}.m3-asset-preview img{width:100%;height:100%;object-fit:cover}.m3-asset-preview em{color:#0f766e;font-size:12px;font-style:normal;font-weight:900}.m3-asset-preview.audio{width:210px}.m3-asset-preview.audio.compact{width:40px}.m3-asset-preview audio{width:198px;height:32px}.m3-problem-asset-picker{display:grid;gap:8px;border:1px solid #fed7aa;border-radius:8px;padding:10px;background:#fff7ed}.m3-reference-image-field{display:grid;gap:10px;border:1px solid #dbe7f3;border-radius:8px;padding:10px;background:#fff}.m3-reference-image-field label{display:flex;align-items:center;gap:12px;color:#475569;font-size:13px;font-weight:900}.m3-reference-image-field input[type=file]{min-height:auto;border:0;padding:0}.m3-reference-image-field figure{display:grid;gap:6px;width:min(420px,100%);margin:0}.m3-reference-image-field img{width:100%;max-height:240px;object-fit:contain;border:1px solid #dbe7f3;border-radius:8px;background:#f8fafc}.m3-reference-image-field figcaption,.m3-reference-image-field p{margin:0;color:#64748b;font-size:12px}.m3-problem-asset-picker .m3-picker-head button{min-height:30px;border:1px solid #fb923c;border-radius:6px;padding:0 10px;background:#fff;color:#9a3412;font-weight:900;cursor:pointer}.m3-problem-asset-picker>div:last-child{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;max-height:260px;overflow:auto}.m3-problem-asset-picker>div:last-child>button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:center;border:1px solid #fed7aa;border-radius:8px;padding:8px;background:#fff;color:#0f172a;text-align:left;cursor:pointer}.m3-problem-asset-picker>div:last-child>button.active{border-color:#0f766e;background:#ecfdf5}.m3-problem-asset-picker span,.m3-problem-asset-picker small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m3-problem-asset-picker span{font-weight:900}.m3-problem-asset-picker small{color:#64748b;font-size:12px}.m3-form-actions{display:flex;justify-content:flex-end;gap:8px}.m3-form-actions button{min-height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 14px;background:#fff;color:#1e293b;font-weight:900;cursor:pointer}.m3-form-actions .primary{border-color:#0f766e;background:#0f766e;color:#fff}.m3-picker-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.m3-picker-grid section{display:grid;gap:8px;border:1px solid #dbe5ef;border-radius:8px;padding:10px;background:#fff}.m3-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.m3-picker-head h4{margin:0;color:#0f172a;font-size:14px}.m3-picker-head span{border-radius:999px;padding:2px 8px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:900}.m3-check-list{display:grid;gap:7px;max-height:220px;overflow:auto}.m3-check-list label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:6px;padding:8px;background:#f8fafc;color:#0f172a;font-size:13px;cursor:pointer}.m3-check-list.problem label{grid-template-columns:18px minmax(0,1fr) 130px}.m3-check-list.student{max-height:220px}.m3-check-list.student label{grid-template-columns:18px minmax(0,82px) minmax(0,1fr)}.m3-check-list input{width:16px;height:16px;accent-color:#0f766e}.m3-check-list span{min-width:0;overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.m3-check-list small{color:#64748b;font-size:12px;text-align:right}.m3-search-field{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px}.m3-search-field span{color:#64748b;font-size:12px;font-weight:900}.m3-search-field input{min-height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#0f172a}.m3-selected-problems{display:grid;gap:7px;border:1px solid #bae6fd;border-radius:8px;padding:9px;background:#f0f9ff}.m3-selected-problems strong{color:#075985;font-size:12px}.m3-selected-problems div{display:flex;flex-wrap:wrap;gap:6px}.m3-selected-problems button{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid #7dd3fc;border-radius:999px;padding:0 8px 0 10px;background:#fff;color:#075985;font-size:12px;font-weight:900;cursor:pointer}.m3-selected-problems button span{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#e0f2fe;color:#0369a1;font-size:11px}.m3-drawer-head,.m3-detail-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.m3-drawer-head button{min-height:32px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#1e293b;font-weight:900;cursor:pointer}.m3-answer-drawer dl,.m3-code-review dl{display:grid;grid-template-columns:72px 1fr;gap:7px 10px;margin:0;color:#334155;font-size:13px}.m3-answer-drawer dt,.m3-code-review dt,.m3-class-card dt,.m3-contest-card dt{color:#64748b;font-weight:900}.m3-answer-drawer dd,.m3-code-review dd,.m3-class-card dd,.m3-contest-card dd{margin:0;color:#0f172a}.m3-answer-drawer pre{max-height:320px;overflow:auto;margin:0;border-radius:6px;padding:12px;background:#0b1120;color:#e5f0ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.m3-testcase-list{display:grid;gap:8px}.m3-testcase-list strong{color:#0f172a;font-size:13px}.m3-testcase-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:6px;padding:8px;background:#fff}.m3-testcase-list span{color:#0369a1;font-weight:900}.m3-testcase-list p{margin:0;color:#0f172a}.m3-testcase-list small{color:#64748b}.m3-answer-label{color:#0f172a;font-size:13px}.m3-class-grid,.m3-contest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.m3-class-card,.m3-contest-card{display:grid;gap:12px;padding:14px;border:1px solid #dbe5ef;border-radius:8px;background:#fbfdff;text-align:left;cursor:pointer}.m3-class-card.active,.m3-contest-card.active{border-color:#0f766e;background:#f0fdfa;box-shadow:0 10px 24px #0f766e1c}.m3-class-card>div,.m3-contest-card>div{display:grid;gap:4px}.m3-class-card span,.m3-contest-card span{color:#64748b;font-size:12px;font-weight:900}.m3-class-card h3,.m3-contest-card h3{margin:0;color:#0f172a;font-size:16px}.m3-class-card p{margin:0;color:#64748b;font-size:13px}.m3-lesson-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #bfdbfe;border-radius:8px;padding:10px 12px;background:#eff6ff}.m3-lesson-summary strong{color:#1d4ed8}.m3-lesson-summary span{color:#475569;font-size:13px;font-weight:900}.m3-lesson-summary div{display:flex;flex-wrap:wrap;gap:6px}.m3-lesson-summary em{border-radius:999px;padding:3px 8px;background:#fff;color:#1e40af;font-size:12px;font-style:normal;font-weight:900}.m3-class-card>strong{justify-self:start;padding:4px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:18px}.m3-class-card dl,.m3-contest-card dl{display:grid;grid-template-columns:70px 1fr;gap:5px 8px;font-size:13px}.m3-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#64748b;font-size:13px}.m3-pagination span{margin-right:4px;font-weight:800}.m3-pagination button{min-height:30px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff;color:#1e293b;font-weight:900;cursor:pointer}.m3-pagination button:disabled{cursor:not-allowed;opacity:.48}.m3-submission-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:14px;align-items:start}.m3-code-review{display:grid;gap:10px;border:1px solid #dbe5ef;border-radius:8px;padding:12px;background:#f8fafc}.m3-code-review h3{margin:0;color:#0f172a}.m3-code-review p{margin:4px 0 0;color:#64748b;font-size:13px}.m3-code-review pre{max-height:420px;overflow:auto;margin:0;border-radius:6px;padding:12px;background:#0b1120;color:#e5f0ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.m3-actions.compact{justify-content:flex-start}.m3-live-panel{display:grid;gap:10px;border:1px solid #dbe5ef;border-radius:8px;padding:12px;background:#fbfdff}.m3-empty-note{margin:0;border:1px dashed #cbd5e1;border-radius:6px;padding:12px;background:#f8fafc;color:#64748b;font-size:13px}.m3-system-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px;align-items:start}.m3-system-grid.users{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.m3-system-card{display:grid;gap:10px;border:1px solid #dbe5ef;border-radius:8px;padding:12px;background:#fbfdff}.m3-system-card .m4-task-item{grid-template-columns:1fr auto;align-items:center}.m3-system-card .m4-task-item strong,.m3-system-card .m4-task-item span,.m3-system-card .m4-task-item small{grid-column:1}.m3-system-card .m4-task-item button{grid-column:2;grid-row:1 / span 3;min-height:32px;border:1px solid #0f766e;border-radius:6px;padding:0 10px;background:#0f766e;color:#fff;font-weight:900;cursor:pointer}.m3-system-dl{display:grid;grid-template-columns:84px 1fr;gap:9px 12px;margin:0;font-size:13px}.m3-system-dl dt{color:#64748b;font-weight:900}.m3-system-dl dd{margin:0;color:#0f172a;line-height:1.55}@media(max-width:1100px){.student-bank-filters,.m3-metric-grid,.m3-class-grid,.m3-contest-grid,.m3-asset-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.m3-form-grid,.m3-form-grid.contest,.m3-picker-grid,.m3-system-grid,.m3-submission-layout{grid-template-columns:1fr}.m3-form-grid .wide,.m3-problem-upload-form .wide{grid-column:auto}.m3-panel-head{flex-direction:column}.m3-actions{justify-content:flex-start;width:100%;white-space:normal}.m3-inline-search{flex:1 1 280px}}@media(max-width:720px){.student-page-head{flex-direction:column}.student-page-head select,.student-bank-filters{width:100%}.student-bank-filters,.student-problem-card{grid-template-columns:1fr}.student-card-tags{justify-content:flex-start;min-width:0}.student-problem-card button{justify-self:start}}.platform-admin,.student-page,.creation-studio{width:min(1500px,calc(100% - 32px));margin:18px auto 40px}.platform-admin{display:grid;gap:14px}.platform-admin-head{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #d8e3ee;border-radius:8px;padding:20px 24px;background:#fff}.platform-admin-head>div:first-child>span{color:#0f766e;font-size:13px;font-weight:800}.platform-admin-head h1,.platform-panel h2,.creation-head h2{margin:4px 0;color:#0f172a;letter-spacing:0}.platform-admin-head p,.platform-panel-head p,.creation-head p{margin:0;color:#64748b;font-size:14px}.platform-head-summary{display:grid;grid-template-columns:repeat(6,auto);align-items:baseline;gap:5px 12px;white-space:nowrap}.platform-head-summary b{color:#0f766e;font-size:24px}.platform-head-summary span{color:#64748b;font-size:12px}.platform-admin-tabs{display:flex;gap:8px;overflow-x:auto;border:1px solid #d8e3ee;border-radius:8px;padding:8px;background:#fff}.platform-admin-tabs button,.platform-actions button,.platform-row-actions button,.platform-form-actions button,.platform-panel-head>select,.platform-filter-row input,.platform-filter-row select,.platform-version-strip button,.creation-actions button,.creation-panel-title button{min-height:36px;border:1px solid #cbd8e6;border-radius:6px;padding:0 13px;background:#fff;color:#17324d;font:inherit;font-weight:700;cursor:pointer}.platform-admin-tabs button.active,.platform-actions button.primary,.platform-form-actions button.primary,.creation-actions button.primary{border-color:#0f766e;background:#0f766e;color:#fff}.platform-row-actions button.danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.platform-row-actions button:disabled{cursor:not-allowed;opacity:.45}.platform-panel{border:1px solid #d8e3ee;border-radius:8px;padding:20px;background:#fff}.platform-panel-head,.creation-head,.creation-panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.platform-actions,.platform-row-actions,.platform-form-actions,.creation-actions,.creation-panel-title>div{display:flex;align-items:center;gap:8px}.platform-filter-row{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(140px,190px)) auto;gap:10px;align-items:center;margin:18px 0 12px}.platform-filter-row input,.platform-filter-row select{width:100%;font-weight:500}.platform-filter-row>span{color:#64748b;text-align:right;white-space:nowrap}.platform-table-wrap{min-width:0;max-width:100%;overflow:auto;border:1px solid #dbe5ef;border-radius:6px}.platform-table,.student-stats-grid table{width:100%;border-collapse:collapse;color:#172b3f;font-size:13px}.platform-table th,.platform-table td,.student-stats-grid th,.student-stats-grid td{border-bottom:1px solid #e5edf5;padding:11px 12px;text-align:left;vertical-align:top}.platform-table th,.student-stats-grid th{background:#f3f7fa;color:#49627a;font-weight:800;white-space:nowrap}.platform-table td small,.platform-stats-grid td small{display:block;margin-top:4px;color:#71849a}.platform-table.compact th,.platform-table.compact td{padding:8px 10px}.platform-tag-list{display:flex;flex-wrap:wrap;gap:5px}.platform-tag-list span{border-radius:4px;padding:3px 6px;background:#e7f3f8;color:#075985;font-size:11px;font-weight:700}.platform-status{display:inline-block;border-radius:999px;padding:4px 8px;background:#edf2f7;color:#526477;font-size:12px;font-weight:800;white-space:nowrap}.platform-status.good{background:#dcfce7;color:#166534}.platform-status.warn{background:#fef3c7;color:#92400e}.platform-status.bad{background:#fee2e2;color:#991b1b}.platform-error,.platform-toast{position:sticky;top:8px;z-index:40;border:1px solid #fecaca;border-radius:6px;padding:10px 14px;background:#fff1f2;color:#9f1239;font-weight:700}.platform-toast{border-color:#99f6e4;background:#ecfdf5;color:#0f766e}.platform-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f172a7a}.platform-modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #d6e1ec;border-radius:8px;padding:20px;background:#fff;box-shadow:0 18px 50px #0f172a33}.platform-modal.large{width:min(1180px,100%)}.platform-ranking-modal{width:min(860px,100%)}.platform-ranking-empty{margin:0;padding:28px;color:#64748b;text-align:center}.platform-modal-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.platform-modal-head h2{margin:3px 0 0}.platform-modal-head>button{min-height:34px;border:1px solid #cbd8e6;border-radius:6px;background:#fff;cursor:pointer}.platform-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.platform-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-form-grid label,.platform-wide-field,.platform-code-grid label,.creation-workbar label{display:grid;gap:6px;color:#40566c;font-size:12px;font-weight:800}.platform-form-grid input,.platform-form-grid select,.platform-wide-field input,.platform-wide-field textarea,.platform-code-grid textarea,.creation-workbar input,.creation-workbar select{width:100%;border:1px solid #cbd8e6;border-radius:6px;padding:9px 10px;background:#fff;color:#0f172a;font:inherit}.platform-wide-field{margin-top:12px}.platform-wide-field textarea{min-height:90px;resize:vertical}.platform-format-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.platform-format-fields label{display:grid;gap:6px;color:#334155;font-size:13px;font-weight:800}.platform-format-fields textarea{min-height:76px;resize:vertical}.platform-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.platform-code-grid textarea{min-height:210px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.platform-wide-field textarea.tests-json{min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.platform-form-actions{justify-content:flex-end;margin-top:18px}.platform-reference-upload{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:center;margin-top:12px;border:1px dashed #8db5d8;border-radius:6px;padding:14px;background:#f8fbff;outline:none}.platform-reference-upload:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.platform-reference-upload p{margin:5px 0 10px;color:#64748b;font-size:12px}.platform-reference-upload button,.platform-editor-section-head button,.platform-sample-title button,.platform-test-input>button{min-height:34px;margin-right:8px;border:1px solid #b9ccde;border-radius:6px;padding:0 12px;background:#fff;color:#17324d;font-weight:800;cursor:pointer}.platform-reference-upload button.danger,.platform-sample-title button.danger,.platform-test-input>button.danger{border-color:#fecaca;color:#b91c1c}.platform-reference-upload button:disabled,.platform-sample-title button:disabled,.platform-test-input>button:disabled{cursor:not-allowed;opacity:.45}.platform-reference-upload img,.platform-reference-upload>span{width:180px;height:110px;border:1px solid #dbe5ef;border-radius:5px;background:#fff}.platform-reference-upload img{object-fit:contain}.platform-reference-upload>span{display:grid;place-items:center;color:#7a8fa3;font-size:12px}.platform-sample-editor,.platform-test-editor{margin-top:14px;border-top:1px solid #dbe5ef;padding-top:14px}.platform-editor-section-head,.platform-sample-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-editor-section-head h3{margin:0}.platform-editor-section-head p{margin:4px 0 0;color:#64748b;font-size:12px}.platform-sample-editor article{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;border:1px solid #dbe5ef;border-radius:6px;padding:12px;background:#fbfdff}.platform-sample-title{grid-column:1 / -1}.platform-sample-title select{min-height:34px;margin-left:auto;border:1px solid #cbd8e6;border-radius:6px;padding:0 8px;background:#fff}.platform-sample-editor label,.platform-test-input label{display:grid;gap:6px;color:#40566c;font-size:12px;font-weight:800}.platform-sample-editor textarea,.platform-test-input textarea{min-height:72px;width:100%;resize:vertical;border:1px solid #cbd8e6;border-radius:6px;padding:9px 10px;background:#fff;font:inherit}.platform-generated-note{align-self:center;margin:0;color:#0f766e;font-size:12px}.platform-test-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.platform-inline-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end;margin:16px 0}.platform-inline-form label,.platform-date-filter label{display:grid;gap:5px;color:#40566c;font-size:12px;font-weight:800}.platform-inline-form input,.platform-inline-form select,.platform-date-filter input,.platform-date-filter select{min-height:38px;width:100%;border:1px solid #cbd8e6;border-radius:6px;padding:7px 9px;background:#fff;font:inherit}.platform-asset-grid,.platform-collection-list{display:grid;gap:10px}.platform-asset-grid article,.platform-collection-list article{display:grid;grid-template-columns:88px minmax(180px,1fr) auto auto;gap:14px;align-items:center;border:1px solid #dbe5ef;border-radius:6px;padding:12px;background:#fbfdff}.platform-asset-grid h3,.platform-collection-list h3{margin:2px 0}.platform-asset-grid p,.platform-collection-list p{margin:0;color:#64748b;font-size:13px}.platform-asset-grid .asset-preview{display:grid;place-items:center;width:88px;height:66px;overflow:hidden;border:1px solid #dbe5ef;border-radius:5px;background:#fff}.platform-asset-grid .asset-preview img{width:100%;height:100%;object-fit:contain}.platform-collection-list article{grid-template-columns:minmax(230px,1.2fr) minmax(300px,1fr) minmax(180px,.8fr) auto}.platform-collection-list dl{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:0;font-size:12px}.platform-collection-list dt{color:#71849a}.platform-collection-list dd{margin:0}.platform-date-filter,.creation-version-control{display:flex;align-items:end;gap:8px}.platform-date-filter select{min-width:130px}.creation-version-control select{min-width:0}.creation-version-control button{min-height:38px;border:1px solid #cbd8e6;border-radius:6px;padding:0 12px;background:#fff;color:#17324d;font-weight:700}.platform-version-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;border:1px solid #fde68a;border-radius:6px;padding:10px;background:#fffbeb;font-size:12px}.platform-version-strip span{border-left:1px solid #f2cf65;padding-left:8px}.platform-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:16px}.platform-card-grid>article,.platform-stats-grid>section,.student-stats-grid>section{border:1px solid #dbe5ef;border-radius:6px;padding:14px;background:#fbfdff}.platform-card-grid h3,.platform-stats-grid h3,.student-stats-grid h3{margin:3px 0 8px}.platform-card-grid p{margin:0;color:#64748b;font-size:13px;line-height:1.55}.platform-card-grid dl,.platform-detail-list{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:13px}.platform-card-grid dt,.platform-detail-list dt{color:#71849a}.platform-card-grid dd,.platform-detail-list dd{margin:0}.platform-problem-picker{display:grid;gap:6px;max-height:320px;overflow:auto;margin-top:14px;border:1px solid #dbe5ef;border-radius:6px;padding:10px}.platform-picker-head{position:sticky;top:-10px;z-index:2;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:10px;align-items:center;padding:8px 2px;background:#fff}.platform-picker-head input{min-height:38px;width:100%;border:1px solid #cbd8e6;border-radius:6px;padding:7px 10px;font:inherit}.platform-picker-head span,.platform-picker-empty{color:#71849a;font-size:12px}.platform-problem-picker label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #edf2f7;padding:7px 2px}.platform-problem-picker small{color:#71849a}.platform-source-code,.creation-output{overflow:auto;border-radius:6px;padding:14px;background:#091322;color:#e2e8f0;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.platform-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.platform-metrics article{border:1px solid #dbe5ef;border-radius:6px;padding:14px;background:#f8fbfd}.platform-metrics span,.platform-metrics small{display:block;color:#64748b}.platform-metrics strong{display:block;margin:5px 0;color:#0f172a;font-size:28px}.platform-stats-grid,.student-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.student-contest-group{margin-top:20px}.student-contest-group>h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.student-contest-group>h3 span{min-width:24px;border-radius:999px;padding:2px 7px;background:#e8eff5;color:#52677a;font-size:12px;text-align:center}.student-empty.compact{padding:12px}.student-task-card.locked{border-style:dashed;background:#f8fafc}.student-task-heading{display:flex;justify-content:space-between;gap:18px}.student-task-heading h3{margin:4px 0}.student-task-heading p{margin:0;color:#64748b}.student-task-summary{display:grid;justify-items:end;gap:5px;color:#0f766e;white-space:nowrap}.student-task-summary small{color:#71849a}.student-task-summary .student-contest-own-rank,.student-task-summary .student-contest-joined{color:#087f5b;font-weight:800}.student-task-summary .student-contest-join-error{color:#c92a2a;font-weight:700;white-space:normal}.student-ranking{margin-top:12px;border-top:1px solid #dbe5ef;padding-top:12px}.student-ranking h4{margin:0 0 8px}.student-ranking ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.student-ranking li{display:grid;grid-template-columns:42px 1fr auto auto;gap:10px;align-items:center;border-radius:4px;padding:7px 9px;background:#f3f7fa}.student-ranking li.is-current-user{outline:1px solid #79c7a5;background:#e9f9f0}.student-ranking small{color:#64748b}.student-stats-scroll>button{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;border:0;border-bottom:1px solid #e5edf5;padding:9px 2px;background:transparent;color:#17324d;text-align:left;cursor:pointer}.student-stats-scroll>button small{grid-column:1 / -1;color:#71849a}.creation-studio{display:grid;gap:12px}.creation-head,.creation-workbar{border:1px solid #d8e3ee;border-radius:8px;padding:16px 18px;background:#fff}.creation-workbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) minmax(280px,1.2fr) minmax(220px,1fr);gap:12px;align-items:end}.creation-workbar>span{align-self:center;color:#52677a;font-size:13px}.creation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:10px}.creation-code-panel,.creation-canvas-panel{min-width:0;overflow:hidden;border:1px solid #d8e3ee;border-radius:8px;background:#fff}.creation-canvas-panel{align-self:start}.creation-panel-title{min-height:50px;border-bottom:1px solid #dbe5ef;padding:8px 12px}.creation-editor-body{min-height:620px;height:620px}.creation-code-panel .code-editor-wrap{min-height:100%;height:100%}.creation-code-panel .blockly-host,.creation-code-panel .blockly-workspace-wrap{min-height:100%}.creation-mode-tabs{overflow-x:auto}.creation-canvas-panel .canvas{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4 / 3}.creation-output{min-height:64px;margin:10px}.creation-console-panel{margin:10px;border:1px solid #fed7aa;border-radius:6px;background:#fff7ed}@media(max-width:1120px){.platform-form-grid.four,.platform-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-collection-list article{grid-template-columns:1fr 1fr}.platform-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-filter-row>span{text-align:left}.creation-grid{grid-template-columns:1fr}.creation-editor-body{min-height:480px;height:480px}}@media(max-width:760px){.workspace-nav{gap:8px;min-height:52px;padding:8px 12px}.workspace-brand-copy span{display:none}.workspace-nav .workspace-brand-copy strong{font-size:16px;white-space:nowrap}.session-chip{min-width:0;margin-left:auto;gap:6px}.session-chip span{max-width:124px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.session-chip button{height:34px;padding:0 9px}.workspace-session{align-items:flex-end;flex-direction:column-reverse}.researcher-workspace-switch{max-width:calc(100vw - 24px);overflow-x:auto}.researcher-workspace-switch select{max-width:150px}.student-top-nav{top:var(--workspace-header-height, 52px);gap:6px;flex-wrap:wrap;overflow:visible;padding:8px}.student-top-nav button{flex:1 1 calc(33.333% - 6px);height:36px;padding:0 8px}.platform-admin,.student-page,.creation-studio{width:min(100% - 16px,1500px);margin-top:8px}.platform-admin-head,.platform-panel-head,.creation-head,.student-task-heading{align-items:stretch;flex-direction:column}.platform-head-summary{grid-template-columns:repeat(3,auto)}.platform-form-grid,.platform-form-grid.four,.platform-format-fields,.platform-code-grid,.platform-filter-row,.platform-metrics,.platform-stats-grid,.student-stats-grid,.creation-workbar{grid-template-columns:1fr}.platform-modal-backdrop{padding:8px}.platform-modal{max-height:calc(100vh - 16px);padding:14px}.platform-inline-form,.platform-asset-grid article,.platform-collection-list article{grid-template-columns:1fr}.platform-admin-tabs{flex-wrap:wrap;overflow:visible;padding:6px}.platform-admin-tabs button{flex:1 1 calc(33.333% - 8px);padding:0 8px}.platform-panel{min-width:0;padding:14px}.platform-table{min-width:720px}.platform-card-grid{grid-template-columns:1fr}.platform-stats-grid>section,.student-stats-grid>section{min-width:0;overflow:auto}.student-stats-grid table{min-width:520px}.platform-date-filter{align-items:stretch;flex-direction:column;width:100%}.student-task-summary{justify-items:start}}:root{--jc-ink: #172033;--jc-muted: #677489;--jc-line: #dce4ed;--jc-line-strong: #c9d5e3;--jc-surface: #ffffff;--jc-surface-soft: #f7f9fc;--jc-page: #eef3f8;--jc-primary: #087f78;--jc-primary-soft: #e5f7f4;--jc-link: #1268b3;--jc-warm: #e76f2e;--jc-success: #18864b;--jc-danger: #c53a3a}html{background:var(--jc-page)}body{color:var(--jc-ink);background:var(--jc-page)}button,input,select,textarea{letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #43a8d8;outline-offset:2px}.app-shell{background:var(--jc-page)}.workspace-nav{min-height:52px;padding:7px 22px;border-bottom-color:var(--jc-line);background:#fffffff7;box-shadow:0 1px 3px #1f34490d;backdrop-filter:none}.workspace-nav>.workspace-brand{align-items:center;gap:10px;min-width:0}.workspace-nav>.workspace-brand:before{content:none}.workspace-nav .workspace-brand-mark{display:grid;flex:0 0 44px;place-items:center;width:44px;height:32px;border-radius:7px;background:var(--jc-primary);color:#fff;font-size:11px;font-weight:900}.workspace-brand-copy{display:grid;gap:1px;min-width:0}.workspace-nav .workspace-brand-copy strong{font-size:16px;line-height:1.1}.workspace-nav .workspace-brand-copy span{overflow:hidden;color:var(--jc-muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.session-chip span{font-size:13px}.session-chip button,.back-to-portal{height:32px}.login-panel{grid-template-columns:minmax(260px,.72fr) minmax(520px,1.28fr);align-items:start;gap:32px;width:min(1040px,calc(100% - 32px));max-width:none;margin:56px auto;padding:0}.login-copy{align-content:start;min-height:300px;border-left:5px solid var(--jc-warm);padding:16px 0 0 24px}.login-copy h1{max-width:390px;font-size:30px;line-height:1.28}.login-copy p{max-width:430px;font-size:14px;line-height:1.75}.login-grid{grid-template-columns:1.15fr 1fr;gap:12px}.login-grid section{border-color:var(--jc-line);border-radius:7px;padding:16px;box-shadow:0 4px 18px #263b4e0d}.login-grid button{min-height:58px;border-radius:6px;padding:10px 12px;background:#fff}.login-grid button:hover{border-color:#66a9c9;background:#f6fbfe;box-shadow:none}.student-portal-shell{display:grid;grid-template-columns:178px minmax(0,1fr);width:min(1580px,100%);min-height:calc(100vh - var(--workspace-header-height, 52px));margin:0 auto;transition:grid-template-columns .18s ease}.student-portal-shell.sidebar-collapsed{grid-template-columns:58px minmax(0,1fr)}.student-side-nav{position:sticky;top:var(--workspace-header-height, 52px);align-self:start;height:calc(100vh - var(--workspace-header-height, 52px));border-right:1px solid var(--jc-line);background:#fff}.student-side-title{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;align-items:center;min-height:66px;border-bottom:1px solid var(--jc-line);padding:10px 10px 10px 16px}.student-side-title-copy{display:grid;gap:3px;min-width:0}.student-side-title-copy span{color:var(--jc-muted);font-size:11px;font-weight:700}.student-side-title-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.student-side-toggle{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--jc-line-strong);border-radius:5px;padding:0;background:#f8fafc;color:#50657b;cursor:pointer}.student-side-toggle:hover{border-color:#78abc4;background:#eef8fc;color:#166f99}.student-side-toggle span{font-size:19px;line-height:1;transform:translateY(-1px)}.student-side-nav nav{display:grid;padding:8px}.student-side-nav nav button{display:grid;grid-template-columns:28px 1fr;align-items:center;min-height:40px;border:0;border-left:3px solid transparent;border-radius:4px;padding:0 10px 0 7px;background:transparent;color:#3f4d62;font-weight:750;text-align:left;cursor:pointer}.student-side-index{color:#9aa8b7;font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.student-side-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-side-nav nav button:hover{background:#f3f7fa;color:var(--jc-link)}.student-side-nav nav button.active{border-left-color:var(--jc-primary);background:var(--jc-primary-soft);color:#075e59}.student-side-nav nav button.active .student-side-index{color:var(--jc-primary)}.student-side-nav.collapsed .student-side-title{grid-template-columns:28px;justify-content:center;padding-inline:7px}.student-side-nav.collapsed .student-side-title-copy,.student-side-nav.collapsed .student-side-label{display:none}.student-side-nav.collapsed nav{padding-inline:7px}.student-side-nav.collapsed nav button{grid-template-columns:1fr;justify-items:center;border-left-width:3px;padding:0;text-align:center}.student-portal-main{min-width:0}.student-page{display:grid;gap:12px;width:auto;margin:0;padding:16px 18px 36px;border:0;border-radius:0;background:transparent}.student-page-head{align-items:center;min-height:56px;border-bottom:1px solid var(--jc-line-strong);padding:0 2px 10px}.student-page-head>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 12px}.student-page-head>div>span{grid-row:1 / span 2;align-self:center;border-right:1px solid var(--jc-line);padding-right:12px;color:var(--jc-warm);font-size:11px}.student-page-head h2{margin:0;font-size:22px;line-height:1.2}.student-page-head p{font-size:12px;line-height:1.4}.student-page-head>strong{color:var(--jc-muted);font-size:13px}.student-bank-filters{grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(118px,.78fr)) auto;gap:8px;border:1px solid var(--jc-line);border-radius:6px;padding:9px;background:var(--jc-surface)}.student-bank-filters label{gap:3px;font-size:10px}.student-bank-filters input,.student-bank-filters select{height:32px;border-radius:4px;padding:0 8px;font-size:12px}.student-filter-reset{align-self:end;height:32px;border:1px solid var(--jc-line-strong);border-radius:4px;padding:0 12px;background:#f8fafc;color:#495a70;font-size:12px;font-weight:700;cursor:pointer}.student-bank-grid,.student-task-problems,.student-task-list{display:grid;gap:0}.student-bank-grid,.student-task-list{overflow:hidden;border:1px solid var(--jc-line);border-radius:6px;background:#fff}.student-list-header,.student-problem-card{display:grid;grid-template-columns:70px minmax(300px,1fr) minmax(270px,410px) 58px;gap:10px;align-items:center}.student-list-header{min-height:33px;border-bottom:1px solid var(--jc-line-strong);padding:0 10px;background:#f2f6fa;color:#66778b;font-size:11px;font-weight:800}.student-problem-card{min-height:62px;border:0;border-bottom:1px solid #e7edf3;border-radius:0;padding:7px 10px;scroll-margin-block:80px}.student-problem-card:last-child{border-bottom:0}.student-problem-card:hover{border-color:#e7edf3;background:#f7fbfd;box-shadow:inset 3px 0 #4aa6cb}.student-problem-state{min-width:0}.student-status-chip{display:inline-block;min-width:46px;border-radius:4px;padding:3px 6px;text-align:center}.student-problem-main{min-width:0}.student-problem-title-line{display:flex;align-items:baseline;gap:9px;min-width:0}.student-problem-title-line>span{flex:0 0 auto;color:#8593a5;font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.student-problem-title-line>a{overflow:hidden;color:var(--jc-link);font-size:14px;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.student-problem-title-line>a:hover{text-decoration:underline}.student-problem-main>p{overflow:hidden;margin:3px 0 0;color:var(--jc-muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.student-card-tags{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:5px;min-width:0;overflow:hidden}.student-card-tags span{flex:0 0 auto;border-radius:4px;padding:3px 6px;background:#edf3f7;color:#51657a;font-size:10px}.student-card-tags span:last-child{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.student-problem-card>button{justify-self:end;height:30px;border-color:#79b4d3;border-radius:4px;padding:0 9px;background:#f4fbff;color:#09669a;font-size:11px}.student-task-card{gap:0;border:0;border-bottom:1px solid var(--jc-line);border-radius:0;padding:0}.student-task-card:last-child{border-bottom:0}.student-task-card:hover{border-color:var(--jc-line);box-shadow:none}.student-task-card.locked{background:#f8fafc}.student-task-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 100px;gap:14px;align-items:center;min-height:84px;padding:10px 12px}.student-task-row:hover{background:#f7fbfd}.student-task-heading{display:block;min-width:0}.student-task-heading>span{display:block;color:#8190a2;font-size:10px;font-weight:700}.student-task-heading h3{margin:2px 0;font-size:15px}.student-task-title-button{border:0;padding:0;background:transparent;color:var(--jc-link);font-weight:800;cursor:pointer}.student-task-title-button:disabled{color:#617185;cursor:default}.student-task-heading p{overflow:hidden;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.student-task-summary{justify-items:start;gap:2px;font-size:12px}.student-task-toggle{height:32px;border:1px solid #78b9b3;border-radius:4px;background:var(--jc-primary-soft);color:#096b65;font-size:11px;font-weight:800;cursor:pointer}.student-task-toggle:disabled{border-color:var(--jc-line);background:#f1f4f7;color:#8b98a8;cursor:default}.student-task-toggle.join-contest{border-color:#0f8a80;background:#0f8a80;color:#fff}.student-task-toggle.join-contest:hover{background:#0b756d}.student-task-problems{border-top:1px solid var(--jc-line);background:#fbfcfe}.student-task-problems .student-problem-card{padding-left:18px;background:#fff}.student-task-list-header{padding-left:18px}.student-contest-group{margin-top:2px}.student-contest-group>h3{min-height:34px;margin:0;padding:0 4px;font-size:14px}.student-contest-group>h3 span{border-radius:4px}.student-ranking{margin:0;padding:10px 16px 14px;background:#fbfcfe}.student-metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.student-metric-grid article{border-color:var(--jc-line);border-radius:6px;padding:11px 12px;background:#fff}.student-metric-grid strong{font-size:25px}.student-metric-grid p,.student-metric-grid span{font-size:11px}.student-growth-overview{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr);min-height:216px;overflow:hidden;border:1px solid var(--jc-line);border-radius:var(--jc-radius-lg);background:#fff;box-shadow:var(--jc-shadow-xs)}.student-level-summary,.student-streak-summary{min-width:0;padding:18px 20px}.student-level-summary{border-right:1px solid var(--jc-line)}.student-growth-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-growth-heading>div{min-width:0}.student-growth-heading span{color:var(--jc-muted);font-size:11px;font-weight:700}.student-growth-heading h3{margin:4px 0 0;color:var(--jc-ink);font-size:20px;line-height:1.25}.student-growth-heading h3 b{color:var(--jc-primary)}.student-growth-heading>strong{flex:0 0 auto;color:#a64d12;font-size:18px}.student-xp-progress{height:10px;overflow:hidden;margin-top:18px;border-radius:5px;background:#e5ebf1}.student-xp-progress>span{display:block;height:100%;border-radius:inherit;background:#0f8a80;transition:width .28s ease}.student-level-next{display:flex;justify-content:space-between;gap:12px;margin:7px 0 14px;color:var(--jc-muted);font-size:12px}.student-level-next strong{color:var(--jc-ink)}.student-xp-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--jc-line)}.student-xp-breakdown>div{min-width:0;padding:11px 8px 0 0}.student-xp-breakdown>div+div{border-left:1px solid var(--jc-line);padding-left:10px}.student-xp-breakdown dt{color:var(--jc-muted);font-size:10px}.student-xp-breakdown dd{overflow:hidden;margin:3px 0 0;color:var(--jc-ink);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.student-streak-heading>p{flex:0 0 auto;margin:1px 0 0;color:var(--jc-muted);font-size:11px;line-height:1.7;text-align:right}.student-streak-heading>p strong{color:var(--jc-ink);font-size:inherit}.student-week-calendar{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:8px;width:100%;margin-top:14px}.student-week-day{display:grid;grid-template-rows:15px 38px 14px;gap:4px;min-width:0;color:var(--jc-muted);font-size:10px;text-align:center}.student-week-day>strong{font-size:11px}.student-week-day>span{display:grid;place-items:center;width:100%;height:38px;border:1px solid var(--jc-line-strong);border-radius:5px;background:var(--jc-surface-soft);color:#fff;font-size:20px;font-weight:800}.student-week-day>small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.student-week-day.is-completed>span{border-color:var(--jc-primary);background:var(--jc-primary)}.student-week-day.is-completed>strong,.student-week-day.is-completed>small{color:var(--jc-primary)}.student-week-day.is-future>span{border-style:dashed;border-color:var(--jc-line);background:var(--jc-surface)}.student-week-day.is-today>span{outline:2px solid var(--jc-primary);outline-offset:2px}.student-week-day.is-today>strong{color:var(--jc-primary)}.student-week-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--jc-muted);font-size:11px}.student-week-summary strong{color:var(--jc-ink);font-size:12px}.student-streak-motivation{margin:7px 0 0;border-left:3px solid #e7a45f;padding-left:8px;color:#8b4e20;font-size:11px;line-height:1.45}.student-stats-grid{gap:10px;margin-top:0}.student-stats-grid>section{display:flex;flex-direction:column;min-width:0;height:clamp(340px,46vh,440px);overflow:hidden;border-color:var(--jc-line);border-radius:6px;padding:12px;background:#fff}.student-stats-grid>section>h3{flex:0 0 auto}.student-stats-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#aebdca #eef2f6;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.student-stats-scroll:focus-visible{outline:2px solid var(--jc-focus);outline-offset:-2px}.student-stats-scroll::-webkit-scrollbar{width:8px;height:8px}.student-stats-scroll::-webkit-scrollbar-track{background:#eef2f6}.student-stats-scroll::-webkit-scrollbar-thumb{border:2px solid #eef2f6;border-radius:4px;background:#aebdca}.student-stats-scroll thead th{position:sticky;top:0;z-index:1}.student-table-card{border-color:var(--jc-line);border-radius:6px}.student-table-card th,.student-table-card td{padding:8px 10px;font-size:12px}.student-empty{padding:14px;font-size:12px}.problem-sheet{gap:10px;width:min(1540px,100%);margin:0 auto;padding:14px 22px 12px;border-bottom-color:var(--jc-line)}.problem-breadcrumb{min-height:36px;border-radius:5px;padding:5px 7px}.problem-breadcrumb .problem-back-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:5px;min-width:60px;height:32px;border-color:var(--jc-line-strong);padding:0 10px;background:var(--jc-surface);color:var(--jc-primary);font-size:14px;font-weight:700;line-height:1.25;white-space:nowrap}.problem-breadcrumb .problem-back-button>span{color:inherit;font-size:inherit}.problem-breadcrumb .problem-back-button:hover{border-color:var(--jc-line-strong);background:var(--jc-primary-soft);color:var(--jc-primary)}.problem-breadcrumb>strong{margin-left:auto;color:#7c8a9b;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.problem-heading{gap:18px}.problem-heading h1{margin:2px 0 0;font-size:24px}.problem-id{font-size:11px}.student-problem-badges{gap:5px;margin-top:6px}.student-problem-badges span,.tag-row span{border-radius:4px;padding:3px 7px;font-size:10px}.student-problem-badges .problem-topic-tag{background:#e8f6f4;color:#08736d}.problem-tools{gap:8px}.problem-select{width:300px}.problem-select select{height:34px;font-size:12px}.problem-section{padding:11px 0}.problem-section h2{font-size:16px}.problem-section>p{margin:5px 0;font-size:13px;line-height:1.65}.problem-meta{gap:10px;font-size:11px}.requirement-list{grid-template-columns:70px 1fr;gap:4px 10px;font-size:12px}.sample-list{gap:8px}.sample-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:9px}.preview-thumb svg{height:120px}.solve-layout{width:min(1540px,100%);margin:0 auto;padding:12px 22px 24px}.panel-title-row{min-height:46px;padding:7px 10px}.panel-title-row h2{font-size:15px}.mode-tabs{gap:6px;padding:7px}.action-row{flex:1 1 auto;flex-wrap:wrap;gap:5px}.action-row>button,.action-row .code-zoom-controls,.action-row .code-zoom-controls button{flex:0 0 auto;min-height:30px;white-space:nowrap}.action-row>button{padding:0 9px;font-size:12px}.action-row .code-zoom-controls{gap:3px;padding-right:0}.action-row .code-zoom-controls button{min-width:34px;padding:0 6px}.creation-studio{width:min(1540px,calc(100% - 24px));margin:12px auto 28px;gap:8px}.creation-head,.creation-workbar{border-color:var(--jc-line);border-radius:6px;padding:12px 14px}.creation-head h2{font-size:20px}.creation-head p{font-size:12px}.creation-workbar{grid-template-columns:minmax(150px,.6fr) minmax(180px,.85fr) minmax(240px,1fr) minmax(180px,.8fr);gap:8px}.creation-grid{gap:8px}.creation-code-panel,.creation-canvas-panel{border-color:var(--jc-line);border-radius:6px}.creation-panel-title{min-height:44px}.platform-admin{width:min(1580px,calc(100% - 24px));margin:12px auto 32px;gap:8px}.platform-admin-head{min-height:74px;border-color:var(--jc-line);border-radius:6px;padding:12px 16px}.platform-admin-head h1{font-size:20px}.platform-admin-head p{font-size:12px}.platform-head-summary b{font-size:20px}.platform-admin-tabs{gap:4px;border-color:var(--jc-line);border-radius:6px;padding:5px}.platform-admin-tabs button{min-height:32px;border-radius:4px;padding:0 11px;font-size:12px}.platform-panel{border-color:var(--jc-line);border-radius:6px;padding:14px}.platform-panel h2{font-size:18px}.platform-panel-head p{font-size:12px}.platform-filter-row{gap:7px;margin:12px 0 8px}.platform-filter-row input,.platform-filter-row select,.platform-actions button,.platform-row-actions button{min-height:32px;font-size:12px}.platform-table th,.platform-table td{padding:8px 9px;font-size:12px}@media(max-width:1180px){.student-list-header,.student-problem-card{grid-template-columns:62px minmax(250px,1fr) minmax(200px,300px) 54px}.student-bank-filters{grid-template-columns:minmax(190px,1.4fr) repeat(2,minmax(130px,1fr)) auto}.student-bank-filters label:nth-of-type(4),.student-bank-filters label:nth-of-type(5){grid-row:2}.student-filter-reset{grid-column:-2}}@media(max-width:820px){.workspace-nav{padding-inline:10px}.workspace-nav .workspace-brand-mark{flex-basis:40px;width:40px;height:28px}.student-portal-shell,.student-portal-shell.sidebar-collapsed{grid-template-columns:1fr}.student-side-nav{position:sticky;top:var(--workspace-header-height, 52px);z-index:22;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--jc-line)}.student-side-title{display:none}.student-side-nav nav{display:flex;gap:4px;overflow-x:auto;padding:6px 8px}.student-side-nav nav button{flex:0 0 auto;grid-template-columns:auto;min-height:34px;border-left:0;border-bottom:3px solid transparent;padding:0 10px}.student-side-nav.collapsed .student-side-label{display:inline}.student-side-nav .student-side-index{display:none}.student-side-nav nav button.active{border-bottom-color:var(--jc-primary)}.student-page{padding:10px 8px 28px}.student-page-head>div>span{display:none}.student-page-head>div{grid-template-columns:1fr}.student-bank-filters{grid-template-columns:1fr 1fr}.student-bank-filters label:first-child{grid-column:1 / -1}.student-bank-filters label:nth-of-type(4),.student-bank-filters label:nth-of-type(5),.student-filter-reset{grid-row:auto;grid-column:auto}.student-list-header{display:none}.student-problem-card{grid-template-columns:52px minmax(0,1fr) 52px;min-height:68px}.student-card-tags{grid-column:2 / 4;grid-row:2}.student-problem-card>button{grid-column:3;grid-row:1}.student-task-row{grid-template-columns:minmax(0,1fr) 92px}.student-task-summary{display:none}.student-task-problems .student-problem-card{padding-left:10px}.student-stats-grid{grid-template-columns:1fr}.student-level-summary,.student-streak-summary{padding:15px 13px}.student-xp-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.student-xp-breakdown>div:nth-child(3){border-left:0}.student-xp-breakdown>div:nth-child(n+3){margin-top:8px;border-top:1px solid var(--jc-line)}.student-level-next{align-items:flex-start}.student-week-calendar{gap:5px}.student-week-day{grid-template-rows:14px 34px 13px}.student-week-day>span{height:34px}.login-panel{grid-template-columns:1fr;margin:22px auto}.login-copy{min-height:0}.login-grid{grid-template-columns:1fr}.problem-sheet,.solve-layout{padding-inline:10px}.problem-heading{flex-direction:column}.problem-tools,.problem-select{width:100%}.sample-card{grid-template-columns:1fr}}.platform-admin.platform-admin-shell{display:grid;grid-template-columns:178px minmax(0,1fr);align-items:start;width:min(1580px,100%);min-height:calc(100vh - var(--workspace-header-height, 52px));margin:0 auto}.platform-admin-sidebar{position:sticky;top:var(--workspace-header-height, 52px);align-self:start;height:calc(100vh - var(--workspace-header-height, 52px));border-right:1px solid var(--jc-line);background:#fff}.platform-admin-role{display:grid;gap:3px;border-bottom:1px solid var(--jc-line);padding:18px 18px 14px}.platform-admin-role span{color:var(--jc-primary);font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.platform-admin-role strong{font-size:15px}.platform-admin-role small{color:var(--jc-muted);font-size:11px}.platform-admin-shell .platform-admin-tabs{display:grid;gap:1px;overflow:visible;border:0;border-radius:0;padding:8px;background:transparent}.platform-admin-shell .platform-admin-tabs button{display:grid;grid-template-columns:28px 1fr;align-items:center;width:100%;min-height:40px;border:0;border-left:3px solid transparent;border-radius:4px;padding:0 10px 0 7px;background:transparent;color:#3f4d62;font-size:12px;font-weight:750;text-align:left}.platform-admin-shell .platform-admin-tabs button>span{color:#9aa8b7;font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.platform-admin-shell .platform-admin-tabs button:hover{background:#f3f7fa;color:var(--jc-link)}.platform-admin-shell .platform-admin-tabs button.active{border-left-color:var(--jc-primary);background:var(--jc-primary-soft);color:#075e59}.platform-admin-shell .platform-admin-tabs button.active>span{color:var(--jc-primary)}.platform-admin-main{display:grid;gap:10px;min-width:0;padding:16px 18px 36px}.platform-admin-shell .platform-admin-head{margin:0;border:0;border-bottom:1px solid var(--jc-line-strong);border-radius:0;padding:0 2px 10px;background:transparent}.platform-admin-shell .platform-panel{margin:0}.platform-admin-shell .platform-row-actions{flex-wrap:nowrap;gap:5px}.platform-admin-shell .platform-row-actions button{min-width:48px;padding-inline:8px;white-space:nowrap}.platform-admin-shell .platform-table th:last-child,.platform-admin-shell .platform-table td:last-child{min-width:166px}@media(min-width:821px){.problem-sheet{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);column-gap:28px}.problem-sheet>.problem-breadcrumb,.problem-sheet>.problem-heading,.problem-sheet>.problem-section:nth-of-type(3){grid-column:1 / -1}.problem-sheet>.problem-section:nth-of-type(1),.problem-sheet>.problem-section:nth-of-type(2){align-content:start;max-width:none;padding-block:9px}.problem-sheet>.problem-section:nth-of-type(2){border-top:0;border-left:1px solid var(--jc-line);padding-left:24px}.problem-sheet>.problem-section:nth-of-type(3){max-width:none;padding-block:9px 4px}.problem-sheet .sample-card{grid-template-columns:minmax(0,1fr)}.problem-sheet .preview-thumb svg{height:96px}}@media(max-width:820px){.platform-admin.platform-admin-shell{grid-template-columns:1fr;width:100%}.platform-admin-sidebar{position:sticky;top:var(--workspace-header-height, 52px);z-index:22;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--jc-line)}.platform-admin-role{display:none}.platform-admin-shell .platform-admin-tabs{display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;padding:6px 8px}.platform-admin-shell .platform-admin-tabs button{flex:0 0 auto;grid-template-columns:auto;width:auto;min-height:34px;border-left:0;border-bottom:3px solid transparent;padding:0 10px}.platform-admin-shell .platform-admin-tabs button>span{display:none}.platform-admin-shell .platform-admin-tabs button.active{border-bottom-color:var(--jc-primary)}.platform-admin-main{padding:10px 8px 28px}.student-portal-main .creation-studio{width:auto;min-width:0;margin:8px}.creation-studio>*,.creation-head,.creation-workbar,.creation-grid,.creation-code-panel,.creation-canvas-panel,.creation-editor-body,.creation-panel-title,.creation-mode-tabs,.creation-console-panel{min-width:0;max-width:100%}.creation-grid{grid-template-columns:minmax(0,1fr)}.creation-head{gap:10px}.creation-actions{flex-wrap:wrap}.creation-workbar{grid-template-columns:minmax(0,1fr)}.creation-panel-title{flex-wrap:wrap}.creation-editor-body{width:100%}}.editor-panel-click .editor-body{overflow:hidden}.click-fill-editor{position:relative;grid-template-rows:auto minmax(320px,1fr);background:#fff}.click-command-workbench{position:relative;z-index:40;min-width:0;border-bottom:1px solid var(--jc-line);background:#fff}.click-command-menu-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center;min-height:72px;padding:8px 10px;background:#f8fafc}.click-command-menu-buttons{display:flex;flex-wrap:wrap;min-width:0;gap:6px}.click-command-menu-buttons>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;border:1px solid #ccd8e5;border-radius:6px;padding:0 10px;background:#fff;color:#31485f;font-size:12px;white-space:nowrap;cursor:pointer}.click-command-menu-buttons>button{flex:1 1 104px}.click-command-menu-buttons>button:hover{border-color:#77afc9;background:#f5fbfe}.click-command-menu-buttons>button.active{border-color:#168d86;background:#e8f8f6;color:#08655f;box-shadow:0 0 0 2px #168d8617}.click-command-menu-buttons>button.cpp.active{border-color:#8b5cf6;background:#f5f1ff;color:#6436b5}.click-command-menu-buttons>button.math.active{border-color:#d19a16;background:#fff8df;color:#855d00}.click-command-menu-buttons>button.sound.active{border-color:#e68636;background:#fff6ec;color:#9a4c0f}.click-command-menu-buttons>button.color.active{border-color:#d58e31;background:#fff8e8;color:#91520a}.click-command-mark{display:grid;place-items:center;min-width:21px;height:21px;border-radius:4px;background:#edf2f7;color:#52677d;font-size:9px;font-weight:900;line-height:1}.click-command-menu-buttons>button.active .click-command-mark{background:currentColor;color:#fff}.click-command-menu-buttons strong{font-size:12px;font-weight:850}.click-menu-chevron{color:#8795a5;font-size:14px;line-height:1;transform:translateY(-1px);transition:transform .14s ease}.click-command-menu-buttons>button.active .click-menu-chevron{transform:rotate(180deg) translateY(1px)}.click-command-menu-state{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:7px;min-width:0;min-height:21px;border-top:1px solid #e2e8f0;padding-top:5px;overflow:visible;color:#7d8d9f;font-size:10px;white-space:normal}.click-command-menu-state>strong{min-width:0;overflow:visible;color:#405a73;overflow-wrap:anywhere}.click-command-menu-state>em{flex:0 0 auto;border-radius:4px;padding:3px 6px;font-style:normal;font-weight:850}.click-command-menu-state>em.pending{background:#fff3cd;color:#835704}.click-command-menu-state>em.complete{background:#e6f7ef;color:#137147}.click-command-dropdown{position:absolute;top:calc(100% + 5px);left:8px;right:8px;z-index:50;overflow:hidden;border:1px solid #b9c9d8;border-radius:7px;background:#fff;box-shadow:0 16px 38px #1d2e4133}.click-command-dropdown.draw{border-top:3px solid #3195c7}.click-command-dropdown.cpp{border-top:3px solid #8b5cf6}.click-command-dropdown.math{border-top:3px solid #d19a16}.click-command-dropdown.sound{border-top:3px solid #e68636}.click-command-dropdown.color{border-top:3px solid #d58e31}.click-command-dropdown-head{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,220px) 30px;gap:8px;align-items:center;min-height:48px;border-bottom:1px solid #e1e8ef;padding:7px 9px;background:#f8fafc}.click-command-dropdown-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.click-command-dropdown-head>div strong{color:#243c54;font-size:13px}.click-command-dropdown-head>div span{color:#8796a6;font-size:10px}.click-command-search{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;height:34px;border:1px solid #ccd8e5;border-radius:5px;background:#fff;color:#8291a2}.click-command-search:focus-within{border-color:#43a8d8;box-shadow:0 0 0 2px #43a8d81c}.click-command-search>span{text-align:right;font-size:16px}.click-command-search input{min-width:0;height:32px;border:0;outline:0;padding:0 8px 0 4px;background:transparent;color:var(--jc-ink);font:inherit;font-size:12px}.click-command-close{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d1dbe5;border-radius:5px;background:#fff;color:#66788b;font-size:18px;line-height:1;cursor:pointer}.click-command-close:hover{border-color:#92a6b8;color:#273d52}.click-color-wheel{width:15px;height:15px;border:1px solid rgb(15 23 42 / 16%);border-radius:50%;background:conic-gradient(#ef4444,#facc15,#16a34a,#2563eb,#9333ea,#ef4444)}.click-command-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));grid-auto-rows:50px;gap:6px;max-height:218px;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:8px;scrollbar-color:#c5d1dd transparent;scrollbar-width:thin}.click-command-options>button{position:relative;display:grid;align-content:center;gap:3px;min-width:0;border:1px solid #d7e0e9;border-left:3px solid #3195c7;border-radius:5px;padding:5px 8px;overflow:hidden;background:#fff;color:#263b51;text-align:left;cursor:pointer}.click-command-options>button.cpp{border-left-color:#8b5cf6}.click-command-options>button.math{border-left-color:#d19a16}.click-command-options>button.sound{border-left-color:#e68636}.click-command-options>button:hover{border-color:#64acd1;border-left-color:#1688be;background:#f6fbfe;box-shadow:0 2px 7px #2d4d6817}.click-command-options>button.cpp:hover{border-left-color:#7c3aed}.click-command-options>button.math:hover{border-left-color:#a87300}.click-command-options>button.sound:hover{border-left-color:#dc6a16}.click-command-options>button.recommended{border-color:#78bdb7;border-left-color:var(--jc-primary);background:#f2fbfa}.click-command-options>button>span{display:flex;align-items:center;gap:4px;min-width:0}.click-command-options strong{overflow:hidden;color:#1f3449;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.click-command-options em{flex:0 0 auto;border-radius:3px;padding:1px 3px;background:#dff4f1;color:#0c726b;font-size:8px;font-style:normal;font-weight:800}.click-command-options code{display:block;overflow:hidden;color:#76879a;font:10px/1.25 SFMono-Regular,Consolas,Liberation Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.click-command-empty{grid-column:1 / -1;align-self:center;margin:0;color:#8090a2;font-size:12px;text-align:center}.click-color-options{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:6px;max-height:218px;overflow-y:auto;padding:10px;background:#fffdf8}.click-color-options button{display:grid;place-items:center;align-content:center;gap:4px;min-width:0;border:1px solid #ddd8ca;border-radius:5px;padding:5px 2px;background:#fff;color:#3b4654;cursor:pointer}.click-color-options button:hover{border-color:#d29435;background:#fff8e8}.click-color-options button>span{width:24px;height:24px;border:1px solid #aeb8c4;border-radius:4px}.click-color-options button strong{font-size:12px}.click-color-options button small{color:#7b8794;font-size:9px}.click-fill-editor>.asset-command-popover{top:92px;left:14px;right:14px;z-index:35;max-height:190px;border-color:#a9c9df;background:#f8fcff;box-shadow:0 12px 30px #2334452b}.click-fill-editor>.fill-editor-wrap{min-height:320px}@media(max-width:700px){.click-command-menu-bar{grid-template-columns:minmax(0,1fr);gap:6px;padding:7px}.click-command-menu-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.click-command-menu-buttons>button{min-width:0;padding-inline:5px;gap:4px}.click-command-menu-buttons strong{overflow:hidden;font-size:11px;text-overflow:ellipsis}.click-command-menu-state{justify-content:flex-start;min-height:20px}.click-command-dropdown{left:6px;right:6px}.click-command-dropdown-head{grid-template-columns:minmax(100px,1fr) minmax(110px,170px) 30px}.click-command-dropdown-head>div{display:grid;gap:1px}.click-command-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:226px}.click-color-options{grid-template-columns:repeat(5,minmax(38px,1fr))}.click-fill-editor>.asset-command-popover{top:110px;left:8px;right:8px;max-height:190px}}@media(max-width:420px){.click-command-mark,.click-menu-chevron{display:none}.click-command-dropdown-head{grid-template-columns:minmax(0,1fr) 30px}.click-command-dropdown-head .click-command-search{grid-column:1 / -1;grid-row:2}.click-command-close{grid-column:2;grid-row:1}}.problem-workspace{display:grid;grid-template-columns:clamp(260px,var(--problem-pane, 25%),min(560px,calc(100% - 844px))) 12px minmax(0,1fr);gap:6px;align-items:start;width:min(1880px,100%);margin:0 auto;padding:10px 12px 24px}.problem-mobile-summary{display:none}.problem-workspace>.problem-resizer{position:sticky;top:62px;align-self:stretch;display:grid;place-items:center;min-height:calc(100vh - 74px);border-radius:5px;cursor:col-resize;touch-action:none;outline:none}.problem-workspace>.problem-resizer:before{content:"";width:4px;height:72px;border-radius:999px;background:#c4d0dc;transition:width .12s ease,background .12s ease}.problem-workspace>.problem-resizer:hover:before,.problem-workspace>.problem-resizer:focus-visible:before{width:5px;background:#38a3c7}.problem-workspace>.problem-sheet{position:sticky;top:62px;display:block;width:auto;max-height:calc(100vh - 74px);margin:0;border:1px solid var(--jc-line-strong);border-radius:6px;padding:0 14px 16px;overflow:auto;background:#fff;scrollbar-color:#c2cfdb transparent;scrollbar-width:thin}.problem-workspace .problem-breadcrumb{position:sticky;flex-wrap:wrap;top:0;z-index:5;margin:0 -14px 12px;border:0;border-bottom:1px solid var(--jc-line);border-radius:0;padding:8px 14px;background:#f7f9fc}.problem-workspace .problem-breadcrumb .problem-answer-button{margin-left:auto;flex-shrink:0;color:var(--jc-teal, #008580);border-color:#b9d9d7}.problem-workspace .problem-breadcrumb .problem-answer-button:hover{background:#e8f7f5}.problem-workspace .problem-heading{align-items:stretch;flex-direction:column;gap:10px}.problem-workspace .problem-heading h1{font-size:22px}.problem-workspace .problem-tools{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;width:100%}.problem-workspace .problem-select{width:100%}.problem-workspace .problem-tools .tag-row{grid-column:1 / -1}.problem-workspace .problem-section{max-width:none;padding:12px 0}.problem-workspace .problem-sheet>.problem-section:nth-of-type(2){border-top:1px solid var(--jc-line);border-left:0;padding-left:0}.problem-workspace .problem-sheet>.problem-section:nth-of-type(3){padding-bottom:0}.problem-workspace .problem-section-title{align-items:flex-start;flex-direction:column;gap:6px}.problem-workspace>.problem-sheet .problem-meta{flex-wrap:wrap;gap:5px 10px;font-size:13px;line-height:1.6}.problem-workspace>.problem-sheet h2{font-size:18px;line-height:1.5}.problem-workspace>.problem-sheet .problem-section>p,.problem-workspace>.problem-sheet .problem-format-grid p{color:#334155;font-size:16px;line-height:1.7;overflow-wrap:anywhere}.problem-workspace>.problem-sheet .problem-format-grid h3,.problem-workspace>.problem-sheet .sample-copy h3,.problem-workspace>.problem-sheet .problem-preview figcaption{font-size:16px;font-weight:700;line-height:1.5}.problem-workspace .requirement-list{grid-template-columns:64px minmax(0,1fr)}.problem-workspace .sample-list{gap:8px}.problem-workspace .sample-card,.problem-workspace .problem-sheet .sample-card{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}.problem-workspace .sample-copy{gap:5px}.problem-workspace .sample-copy h3{margin:0}.problem-workspace>.problem-sheet .sample-card-head{flex-wrap:wrap}.problem-workspace>.problem-sheet .sample-input-copy-button{font-size:13px}.problem-workspace>.problem-sheet .sample-copy dl{grid-template-columns:auto minmax(0,1fr);margin:0;color:#334155;font-size:16px;line-height:1.65}.problem-workspace>.problem-sheet .sample-copy dt{color:#475569}.problem-workspace>.problem-sheet .sample-copy dd{min-width:0;overflow-wrap:anywhere}.problem-workspace .preview-thumb svg,.problem-workspace .problem-sheet .preview-thumb svg{height:128px}.problem-workspace .problem-reference-image{max-width:100%}.problem-workspace .problem-format-grid{grid-template-columns:minmax(0,1fr)}.problem-workspace>.solve-layout{width:auto;min-width:0;margin:0;padding:0}.problem-workspace .editor-panel,.problem-workspace .result-panel,.problem-workspace .split-resizer{min-height:calc(100vh - 74px)}@media(max-width:959px){.problem-workspace{display:block;width:100%;padding:0 0 24px}.problem-mobile-summary{position:sticky;top:var(--workspace-header-height, 52px);z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--jc-line-strong);padding:7px 16px;background:#fffffff7;box-shadow:0 2px 8px #21344612}.problem-workspace>.problem-resizer{display:none}.problem-mobile-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;min-width:0}.problem-mobile-summary span{color:var(--jc-warm);font-size:10px;font-weight:800}.problem-mobile-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.problem-mobile-summary small{grid-column:1 / -1;overflow:hidden;color:var(--jc-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.problem-mobile-summary button{flex:0 0 auto;height:32px;border:1px solid #7bb6cf;border-radius:5px;padding:0 10px;background:#f4fbfe;color:#075985;font-weight:800;cursor:pointer}.problem-workspace>.problem-sheet{position:static;display:grid;width:min(1540px,100%);max-height:none;margin:0 auto;border:0;border-bottom:1px solid var(--jc-line);border-radius:0;padding:14px 22px 12px;overflow:visible}.problem-workspace .problem-breadcrumb{position:static;margin:0;border:1px solid var(--jc-line);border-radius:5px;padding:6px 9px}.problem-workspace .problem-heading{flex-direction:row}.problem-workspace .problem-tools{display:flex;width:auto}.problem-workspace .problem-select{width:300px}.problem-workspace .problem-tools .tag-row{grid-column:auto}.problem-workspace .problem-section-title{align-items:center;flex-direction:row}.problem-workspace .problem-sheet>.problem-section:nth-of-type(2){border-top:0;border-left:1px solid var(--jc-line);padding-left:24px}.problem-workspace .problem-sheet>.problem-section:nth-of-type(3){padding-bottom:4px}.problem-workspace .sample-card,.problem-workspace .problem-sheet .sample-card{grid-template-columns:minmax(0,1fr)}.problem-workspace .preview-thumb svg,.problem-workspace .problem-sheet .preview-thumb svg{height:96px}.problem-workspace>.solve-layout{width:min(1540px,100%);margin:0 auto;padding:12px 22px 24px}}:root{--jc-font-sans: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--jc-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--jc-text-xs: 11px;--jc-text-sm: 12px;--jc-text-md: 14px;--jc-text-lg: 16px;--jc-text-xl: 20px;--jc-text-2xl: 24px;--jc-space-1: 4px;--jc-space-2: 6px;--jc-space-3: 8px;--jc-space-4: 12px;--jc-space-5: 16px;--jc-space-6: 20px;--jc-space-7: 24px;--jc-space-8: 32px;--jc-radius-sm: 4px;--jc-radius-md: 6px;--jc-radius-lg: 8px;--jc-radius-pill: 999px;--jc-control-sm: 30px;--jc-control-md: 34px;--jc-control-lg: 38px;--jc-primary-hover: #066d67;--jc-primary-active: #055e59;--jc-link-hover: #0d5795;--jc-surface-hover: #f2f6fa;--jc-surface-selected: #e5f7f4;--jc-focus: #258fbe;--jc-focus-ring: 0 0 0 3px rgba(37, 143, 190, .18);--jc-success-soft: #eaf8f0;--jc-success-line: #a9dfbd;--jc-danger-soft: #fff0f0;--jc-danger-line: #efb3b3;--jc-warning: #9a6200;--jc-warning-soft: #fff7e6;--jc-warning-line: #efd39a;--jc-info: #1268b3;--jc-info-soft: #edf6fd;--jc-info-line: #b9d9ef;--jc-shadow-xs: 0 1px 2px rgba(23, 32, 51, .05);--jc-shadow-sticky: 0 4px 14px rgba(23, 32, 51, .08);--jc-shadow-modal: 0 20px 54px rgba(23, 32, 51, .22)}html{color-scheme:light;background:var(--jc-page)}body{color:var(--jc-ink);background:var(--jc-page);font-family:var(--jc-font-sans);font-size:var(--jc-text-md);line-height:1.5}::selection{color:var(--jc-ink);background:#bfe9e3}h1,h2,h3,h4,p{letter-spacing:0}h1,h2,h3,h4{color:var(--jc-ink);line-height:1.25}small,.muted,.student-section-heading p,.platform-panel-head p,.m3-panel-head p,.m4-panel-title p{color:var(--jc-muted)}button,input,select,textarea{font-family:var(--jc-font-sans);letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--jc-focus);outline-offset:2px}.primary,.danger,.workspace-session button,.back-to-portal,.student-filter-reset,.student-task-toggle,.mode-tabs>button,.panel-title-row>button,.panel-title-row>div>button,.creation-actions button,.creation-panel-title button,.creation-version-control button,.platform-admin-tabs>button,.platform-actions button,.platform-row-actions button,.platform-form-actions button,.platform-modal-head button,.m3-actions button,.m3-link-button,.m3-panel-head button,.m4-panel-title button,.history-modal-title button,.preview-modal-title button,.submit-popup button,.sample-input-copy-button{min-height:var(--jc-control-md);border:1px solid var(--jc-line-strong);border-radius:var(--jc-radius-md);padding:0 var(--jc-space-4);color:var(--jc-ink);background:var(--jc-surface);box-shadow:var(--jc-shadow-xs);font-size:var(--jc-text-md);font-weight:600;line-height:1;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.workspace-session button:hover,.back-to-portal:hover,.student-filter-reset:hover,.student-task-toggle:hover,.mode-tabs>button:hover,.panel-title-row>button:hover,.panel-title-row>div>button:hover,.creation-actions button:hover,.creation-panel-title button:hover,.creation-version-control button:hover,.platform-admin-tabs>button:hover,.platform-actions button:hover,.platform-row-actions button:hover,.platform-form-actions button:hover,.platform-modal-head button:hover,.m3-actions button:hover,.m3-link-button:hover,.m3-panel-head button:hover,.m4-panel-title button:hover,.history-modal-title button:hover,.preview-modal-title button:hover,.sample-input-copy-button:hover{border-color:#9fb0c3;background:var(--jc-surface-hover)}.primary,.platform-admin-tabs>button.active,.mode-tabs>button.active{border-color:var(--jc-primary);color:#fff;background:var(--jc-primary);box-shadow:0 2px 6px #087f782e}.primary:hover,.platform-admin-tabs>button.active:hover,.mode-tabs>button.active:hover{border-color:var(--jc-primary-hover);background:var(--jc-primary-hover)}.primary:active,.platform-admin-tabs>button.active:active,.mode-tabs>button.active:active{border-color:var(--jc-primary-active);background:var(--jc-primary-active);transform:translateY(1px)}.danger,.m3-link-button.danger,.platform-row-actions .danger,.platform-form-actions .danger{border-color:var(--jc-danger-line);color:var(--jc-danger);background:var(--jc-danger-soft)}.danger:hover,.m3-link-button.danger:hover,.platform-row-actions .danger:hover,.platform-form-actions .danger:hover{border-color:var(--jc-danger);color:#fff;background:var(--jc-danger)}button:disabled,.primary:disabled,.danger:disabled{border-color:var(--jc-line);color:#9aa6b5;background:#f3f5f8;box-shadow:none;cursor:not-allowed;transform:none}.field input,.field select,.field textarea,.student-bank-filters input,.student-bank-filters select,.platform-filter-row input,.platform-filter-row select,.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea,.platform-wide-field input,.platform-wide-field select,.platform-wide-field textarea,.platform-format-fields input,.platform-format-fields select,.platform-format-fields textarea,.creation-workbar input,.creation-workbar select,.problem-select select,.m3-form-card input,.m3-form-card select,.m3-form-card textarea,.m3-search-field input{min-height:var(--jc-control-lg);border:1px solid var(--jc-line-strong);border-radius:var(--jc-radius-md);padding:8px 10px;color:var(--jc-ink);background:var(--jc-surface);box-shadow:inset 0 1px 1px #17203306;font-size:var(--jc-text-md);line-height:1.4;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.field input:hover,.field select:hover,.field textarea:hover,.student-bank-filters input:hover,.student-bank-filters select:hover,.platform-filter-row input:hover,.platform-filter-row select:hover,.platform-form-grid input:hover,.platform-form-grid select:hover,.platform-form-grid textarea:hover,.platform-wide-field input:hover,.platform-wide-field select:hover,.platform-wide-field textarea:hover,.creation-workbar input:hover,.creation-workbar select:hover,.problem-select select:hover,.m3-form-card input:hover,.m3-form-card select:hover,.m3-form-card textarea:hover{border-color:#aebdcd}.field input:focus,.field select:focus,.field textarea:focus,.student-bank-filters input:focus,.student-bank-filters select:focus,.platform-filter-row input:focus,.platform-filter-row select:focus,.platform-form-grid input:focus,.platform-form-grid select:focus,.platform-form-grid textarea:focus,.platform-wide-field input:focus,.platform-wide-field select:focus,.platform-wide-field textarea:focus,.creation-workbar input:focus,.creation-workbar select:focus,.problem-select select:focus,.m3-form-card input:focus,.m3-form-card select:focus,.m3-form-card textarea:focus,.m3-search-field input:focus{border-color:var(--jc-focus);outline:0;box-shadow:var(--jc-focus-ring)}textarea::placeholder,input::placeholder{color:#8a97a8;opacity:1}.student-table-card,.student-problem-card,.student-task-card,.student-stats-grid>section,.student-metric-grid>article,.platform-panel,.m3-panel,.m3-form-card,.m3-detail-card,.m3-system-card,.m4-panel,.m4-role-card,.creation-head,.creation-workbar,.creation-code-panel,.creation-canvas-panel,.editor-panel,.result-panel{border-color:var(--jc-line);border-radius:var(--jc-radius-lg);background:var(--jc-surface);box-shadow:var(--jc-shadow-xs)}.student-problem-card:hover,.student-task-card:hover,.m4-role-card:hover{border-color:#b8c8d8;background:#fbfdff}.panel-title-row,.creation-panel-title,.platform-panel-head,.m3-panel-head,.m4-panel-title{border-color:var(--jc-line)}.panel-title-row h2,.creation-panel-title strong,.platform-panel-head h2,.m3-panel-head h2,.m4-panel-title h2{color:var(--jc-ink);font-size:var(--jc-text-lg);font-weight:700;line-height:1.25}.student-status-chip,.submission-result-chip,.platform-status,.m3-status,.m3-result,.m3-difficulty-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid transparent;border-radius:var(--jc-radius-pill);padding:2px 9px;font-size:var(--jc-text-sm);font-weight:700;line-height:1.2;white-space:nowrap}.student-status-chip.status-ac,.student-status-chip.status-AC,.submission-result-chip.is-ac,.platform-status.good,.m3-status.ok,.m3-result.ok{border-color:var(--jc-success-line);color:var(--jc-success);background:var(--jc-success-soft)}.student-status-chip.status-wa,.student-status-chip.status-WA,.student-status-chip.status-ce,.student-status-chip.status-CE,.student-status-chip.status-re,.student-status-chip.status-RE,.student-status-chip.status-tle,.student-status-chip.status-TLE,.submission-result-chip.is-failed,.platform-status.bad,.m3-result.bad{border-color:var(--jc-danger-line);color:var(--jc-danger);background:var(--jc-danger-soft)}.platform-status.warn,.m3-status.warn{border-color:var(--jc-warning-line);color:var(--jc-warning);background:var(--jc-warning-soft)}.student-status-chip.status-none,.platform-status.neutral,.m3-status:not(.ok):not(.warn){border-color:var(--jc-line);color:var(--jc-muted);background:#f2f5f8}.feedback,.platform-error{border-radius:var(--jc-radius-md)}.feedback-AC,.feedback-ac,.row-ac{border-color:var(--jc-success-line);color:#12683a;background:var(--jc-success-soft)}.feedback-WA,.feedback-CE,.feedback-RE,.feedback-TLE,.feedback-wa,.row-wa,.platform-error{border-color:var(--jc-danger-line);color:#8f2525;background:var(--jc-danger-soft)}.platform-modal-backdrop,.preview-modal-backdrop,.submit-popup-backdrop,.history-modal-backdrop{background:#17203385;backdrop-filter:blur(2px)}.platform-modal,.preview-modal,.submit-popup,.history-modal{border:1px solid var(--jc-line-strong);border-radius:var(--jc-radius-lg);background:var(--jc-surface);box-shadow:var(--jc-shadow-modal)}.platform-modal-head,.preview-modal-title,.history-modal-title{border-bottom:1px solid var(--jc-line);padding-bottom:var(--jc-space-4)}.platform-modal-head h2,.preview-modal-title strong,.history-modal-title h2{color:var(--jc-ink);font-size:var(--jc-text-xl);line-height:1.25}.platform-table,.student-table-card table,.student-stats-grid table,.m3-table{border-collapse:collapse}.platform-table th,.student-table-card th,.student-stats-grid th,.m3-table th{color:#4d5d70;background:#f4f7fa;font-size:var(--jc-text-sm);font-weight:700}.platform-table td,.platform-table th,.student-table-card td,.student-table-card th,.student-stats-grid td,.student-stats-grid th,.m3-table td,.m3-table th{border-color:var(--jc-line)}.platform-table tbody tr:hover,.student-table-card tbody tr:hover,.student-stats-grid tbody tr:hover,.m3-table tbody tr:hover{background:#f8fbfd}.activity-button-content{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;white-space:nowrap}.activity-spinner{inline-size:14px;block-size:14px;flex:0 0 auto;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:activity-spin .72s linear infinite}.activity-label{display:inline-flex;align-items:center;gap:7px;width:fit-content;min-height:30px;border:1px solid #cbd8e6;border-radius:999px;padding:5px 10px;background:#f8fafc;color:#40566c;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap;animation:activity-slide-in .18s ease-out}.activity-label.compact{min-height:26px;padding:4px 8px;font-size:11px}.activity-label-loading,.activity-label-saving,.activity-label-running,.activity-label-submitting{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.activity-label-success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.activity-label-error{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.activity-status-dot{inline-size:8px;block-size:8px;flex:0 0 auto;border-radius:50%;background:currentColor;animation:activity-status-pop .3s ease-out}.activity-loading-panel{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:24px;background:#f8fafc;color:#52677a;font-weight:800}.platform-head-summary>.activity-label{grid-column:1 / -1;justify-self:end}.platform-head-summary>.activity-label,.platform-head-summary>.activity-label span{color:inherit;font-size:11px}.creation-workbar>.activity-label{align-self:center;justify-self:start;color:inherit}.platform-toast{animation:activity-slide-in .18s ease-out}@keyframes activity-spin{to{transform:rotate(360deg)}}@keyframes activity-status-pop{0%{transform:scale(.5);opacity:.2}70%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}@keyframes activity-slide-in{0%{transform:translateY(-3px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:820px){.platform-modal,.preview-modal,.history-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:var(--jc-radius-md)}.platform-panel,.m3-panel,.m4-panel,.creation-head,.creation-workbar{border-radius:var(--jc-radius-md)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:820px){.problem-mobile-summary{top:var(--workspace-header-height, 52px);padding-inline:10px}.problem-workspace>.problem-sheet{display:grid;padding-inline:10px}.problem-workspace .problem-heading{flex-direction:column}.problem-workspace .problem-section-title{align-items:flex-start;flex-direction:column}.problem-workspace .problem-tools{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;width:100%}.problem-workspace .problem-select{width:100%}.problem-workspace .problem-tools .tag-row{grid-column:1 / -1;justify-content:flex-start;width:100%;max-width:none}.problem-workspace .problem-sheet>.problem-section:nth-of-type(2){border-top:1px solid var(--jc-line);border-left:0;padding-left:0}.problem-workspace .sample-card,.problem-workspace .problem-sheet .sample-card{grid-template-columns:minmax(0,1fr)}.problem-workspace>.solve-layout{grid-template-columns:minmax(0,1fr);gap:10px;padding-inline:10px}.problem-workspace .split-resizer{display:none}.problem-workspace .editor-panel,.problem-workspace .result-panel{width:100%;min-width:0;min-height:620px}}.editor-mode-tabs{align-items:center;min-height:54px;position:relative;overflow:visible}.editor-mode-tabs .draft-activity-overlay{position:absolute;z-index:20;top:calc(100% + 8px);right:10px;display:block;pointer-events:none}.editor-mode-tabs .draft-activity-overlay:empty{display:none}.editor-mode-tabs .draft-activity-overlay .activity-label{box-shadow:0 5px 16px #0f172a1f}.editor-mode-tabs .mode-context-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border-left:1px solid var(--jc-line);padding-left:12px}.editor-mode-tabs .mode-context-actions>span{color:#64758a;font-size:11px;font-weight:700}.editor-mode-tabs .mode-context-actions>button{min-width:38px;min-height:34px;border:1px solid #cad7e4;border-radius:6px;padding:5px 9px;background:#fff;color:#17304a;font-size:13px;font-weight:800}.editor-mode-tabs .mode-context-actions>button:hover:not(:disabled){border-color:#7b9bb8;background:#f4f8fb}.generated-code-disclosure{border-top:1px solid var(--jc-line);background:#f7f9fb}.generated-code-disclosure summary{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;color:#21384f;cursor:pointer;list-style:none;user-select:none}.generated-code-disclosure summary::-webkit-details-marker{display:none}.generated-code-disclosure summary>span:first-child{display:flex;min-width:0;align-items:baseline;gap:10px}.generated-code-disclosure summary strong{flex:0 0 auto;font-size:13px}.generated-code-disclosure summary small{overflow:hidden;color:#7a8999;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.generated-code-disclosure-action{flex:0 0 auto;border:1px solid #ccd8e4;border-radius:5px;padding:4px 8px;background:#fff;color:#52677d;font-size:11px;font-weight:700}.generated-code-disclosure-action:before{content:"\5c55\5f00\4ee3\7801"}.generated-code-disclosure[open] .generated-code-disclosure-action:before{content:"\6536\8d77\4ee3\7801"}.generated-code-disclosure[open] summary{border-bottom:1px solid #d5e0ea;background:#f1f5f8}.generated-code-disclosure pre{max-height:220px;margin:0;overflow:auto;padding:14px 16px;background:#081321;color:#dce8f5;font:12px/1.65 SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre}.click-command-options{display:block;max-height:310px;overflow-y:auto;padding:4px 8px 10px}.click-command-section{min-width:0;padding-top:8px}.click-command-section+.click-command-section{margin-top:8px;border-top:1px solid #e1e8ef}.click-command-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 7px}.click-command-section-title strong{color:#263c51;font-size:12px}.click-command-section-title span{border-radius:999px;padding:2px 7px;background:#edf2f6;color:#718297;font-size:9px;font-weight:700}.click-command-section.recommended .click-command-section-title strong{color:#08766e}.click-command-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px}.click-command-card{position:relative;display:grid;min-width:0;min-height:78px;align-content:center;gap:4px;border:1px solid #d7e1ea;border-left:4px solid #2f98cb;border-radius:6px;padding:8px 9px;overflow:hidden;background:#fff;color:#263b51;text-align:left;cursor:pointer}.click-command-card.cpp{border-left-color:#7c5ce0}.click-command-card.math{border-left-color:#d39a13}.click-command-card.sound{border-left-color:#e67c2b}.click-command-card:hover{border-color:#78b1ce;background:#f7fbfd;box-shadow:0 3px 9px #2a46601a}.click-command-card.recommended{border-color:#85c4bd;border-left-color:var(--jc-primary);background:#f1faf8}.click-command-card>span{display:flex;min-width:0;align-items:center;gap:5px}.click-command-card strong{overflow:hidden;color:#1d3349;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.click-command-card em{flex:0 0 auto;border-radius:3px;padding:1px 4px;background:#d9f1ed;color:#086c64;font-size:8px;font-style:normal;font-weight:800}.click-command-card code{display:block;overflow:hidden;color:#687b8e;font:10px/1.3 SFMono-Regular,Consolas,Liberation Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.click-command-card small{overflow:hidden;color:#8a98a8;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.click-command-section-empty{margin:0;border:1px dashed #d7e0e8;border-radius:6px;padding:12px;background:#fafbfd;color:#8190a0;font-size:11px;text-align:center}.blockly-toolbar{align-items:center;justify-content:space-between;gap:10px}.blockly-toolbar-primary,.blockly-toolbar-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.blockly-toolbar-secondary{margin-left:auto}.blockly-shell .blocklyToolboxDiv{border-right:1px solid #d5e0e9!important;background:#f2f5f8!important}.blockly-shell .blocklyTreeRow{height:38px!important;margin:2px 6px!important;border-radius:6px!important;padding-inline:10px!important;line-height:38px!important}.blockly-shell .blocklyTreeLabel{color:#2d4054!important;font-size:14px!important;font-weight:650!important}.blockly-shell .blocklyTreeSelected{background:#ddf2ef!important}.blockly-shell .blocklyTreeSelected .blocklyTreeLabel{color:#08766e!important}.blockly-shell .blocklyFlyoutBackground{fill:#edf2f6!important;fill-opacity:1!important}.blockly-shell .blocklyMainBackground{stroke:#d2dde7!important;stroke-width:1px!important}.blockly-shell .blocklyPath{stroke:#17304a2e!important;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px!important}.blockly-shell .blocklySelected>.blocklyPath{stroke:#0a8177!important;stroke-width:2px!important}@media(max-width:820px){.editor-mode-tabs{flex-wrap:wrap}.editor-mode-tabs .mode-context-actions{width:100%;margin-left:0;border-top:1px solid var(--jc-line);border-left:0;padding-top:7px;padding-left:0}.click-command-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blockly-toolbar-primary,.blockly-toolbar-secondary{width:100%}.blockly-toolbar-secondary{margin-left:0}}@media(max-width:520px){.click-command-section-grid{grid-template-columns:minmax(0,1fr)}.generated-code-disclosure summary>span:first-child{display:grid;gap:1px}.generated-code-disclosure summary small{white-space:normal}}.student-bank-grid,.student-task-list{overflow:visible;border:0;border-radius:0;background:transparent;gap:8px}.student-task-problems{display:grid;gap:8px;border-top:1px solid var(--jc-line);padding:10px 12px 12px;background:#f7fafc}.student-problem-card{grid-template-columns:72px minmax(0,1fr) minmax(200px,320px) 108px;gap:12px;min-height:84px;border:1px solid var(--jc-line);border-left:4px solid #cbd5e1;border-radius:8px;padding:12px 14px;background:#fff;box-shadow:var(--jc-shadow-xs);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.student-problem-card:last-child{border-bottom:1px solid var(--jc-line)}.student-problem-card:hover{border-color:#aac7d6;background:#fbfdff;box-shadow:0 4px 14px #0f374814}.student-problem-card.result-ac{border-left-color:#22a06b}.student-problem-card.result-wa{border-left-color:#d64545}.student-problem-card.result-ce{border-left-color:#d29a12}.student-problem-card.result-re{border-left-color:#a655a5}.student-problem-card.result-tle{border-left-color:#d66a1f}.student-problem-card.result-pending{border-left-color:#3b82b8}.student-problem-card.result-none{border-left-color:#cbd5e1}.student-problem-card>.student-problem-action{min-width:96px;justify-self:end}#student-bank-results,#student-submission-results{scroll-margin-top:76px}.student-pagination{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(92px,1fr);align-items:center;gap:14px;min-height:50px;border-top:1px solid var(--jc-line);border-bottom:1px solid var(--jc-line);padding:8px 10px;background:#f8fafc;color:#5f7084;font-size:12px}.student-pagination>span{font-variant-numeric:tabular-nums;font-weight:700}.student-pagination>div{display:flex;align-items:center;justify-content:center;gap:6px}.student-pagination button{min-width:58px;min-height:32px;border:1px solid #bfd0dc;border-radius:5px;padding:0 9px;background:#fff;color:#31566b;font:inherit;font-weight:800;cursor:pointer}.student-pagination button:hover:not(:disabled){border-color:#67a9c9;background:#f0f9fd;color:#09669a}.student-pagination button:disabled{cursor:not-allowed;opacity:.42}.student-pagination strong{min-width:96px;color:#24384a;font-variant-numeric:tabular-nums;text-align:center}.student-pagination>small{justify-self:end;white-space:nowrap}.student-table-card .student-table-empty{height:96px;color:#6b7c8e;text-align:center}.student-status-chip,.submission-result-chip,.submission-result-text{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:24px;border:1px solid #d7e0e8;border-radius:999px;padding:4px 9px;background:#f3f6f8;color:#66778b;font-size:var(--jc-text-sm);font-weight:800;line-height:1;white-space:nowrap}.student-status-chip.result-ac,.submission-result-chip.result-ac,.submission-result-text.result-ac{border-color:#8dd5b2;background:#eaf8f0;color:#087a49}.student-status-chip.result-wa,.submission-result-chip.result-wa,.submission-result-text.result-wa{border-color:#f2aaa5;background:#fff0ef;color:#b42318}.student-status-chip.result-ce,.submission-result-chip.result-ce,.submission-result-text.result-ce{border-color:#e7c56c;background:#fff8df;color:#8a5a00}.student-status-chip.result-re,.submission-result-chip.result-re,.submission-result-text.result-re{border-color:#d5a5d7;background:#fbf0fb;color:#8a2f87}.student-status-chip.result-tle,.submission-result-chip.result-tle,.submission-result-text.result-tle{border-color:#f0b071;background:#fff3e6;color:#a34700}.student-status-chip.result-pending,.submission-result-chip.result-pending,.submission-result-text.result-pending{border-color:#9dc7ed;background:#eef7ff;color:#1769aa}.student-status-chip.result-none,.submission-result-chip.result-none,.submission-result-text.result-none{border-color:#d7e0e8;background:#f3f6f8;color:#66778b}.submission-result-text{min-width:0}.student-task-card{overflow:hidden;margin-bottom:0;border:1px solid var(--jc-line);border-left:4px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:var(--jc-shadow-xs);transition:border-color .16s ease,box-shadow .16s ease}.student-task-card:last-child{border-bottom:1px solid var(--jc-line)}.student-task-card:hover{border-color:#aac7d6;background:#fff;box-shadow:0 4px 14px #0f374814}.student-task-card.status-completed{border-left-color:#22a06b}.student-task-card.status-active{border-left-color:#168f86}.student-task-card.status-open{border-left-color:#2f8dc4}.student-task-card.status-upcoming{border-left-color:#c18a00}.student-task-card.status-ended,.student-task-card.status-idle{border-left-color:#cbd5e1}.student-task-row{min-height:92px;padding:13px 14px}.student-task-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:4px}.student-task-kicker>span{color:#738398;font-size:11px;font-weight:750}.student-task-status{display:inline-flex;align-items:center;min-height:22px;border:1px solid #d7e0e8;border-radius:999px;padding:2px 8px;background:#f3f6f8;color:#66778b;font-size:10px;font-weight:800;line-height:1}.student-task-status.status-completed{border-color:#8dd5b2;background:#eaf8f0;color:#087a49}.student-task-status.status-active{border-color:#8bd0ca;background:#e8f7f5;color:#08766e}.student-task-status.status-open{border-color:#9dc7ed;background:#eef7ff;color:#1769aa}.student-task-status.status-upcoming{border-color:#e7c56c;background:#fff8df;color:#8a5a00}.student-task-status.status-ended,.student-task-status.status-idle{border-color:#d7e0e8;background:#f3f6f8;color:#66778b}.student-side-nav nav{gap:4px}.student-side-nav nav button{position:relative;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.student-side-nav nav button.active:after{position:absolute;right:8px;width:6px;height:6px;border-radius:50%;background:var(--jc-primary);content:""}.student-side-short,.student-side-nav.collapsed .student-side-index,.student-side-nav.collapsed .student-side-label{display:none}.student-side-nav.collapsed .student-side-short{display:grid;place-items:center;width:28px;height:28px;border:1px solid #c7d7e1;border-radius:6px;background:#fff;color:#466176;font-size:12px;font-weight:800}.student-side-nav.collapsed nav button{grid-template-columns:1fr;justify-items:center;min-height:38px;padding:5px}.student-side-nav.collapsed nav button.active .student-side-short{border-color:#84c9c2;background:#e2f5f2;color:#08766e}.student-side-nav.collapsed nav button.active:after{right:4px}@media(max-width:1100px){.student-problem-card{grid-template-columns:64px minmax(0,1fr) 100px}.student-card-tags{grid-column:2 / 4}}@media(max-width:820px){.student-problem-card{grid-template-columns:56px minmax(0,1fr) 94px;min-height:76px;padding:10px}.student-card-tags{grid-column:2 / 4}.student-problem-card>.student-problem-action{grid-column:3;grid-row:1;min-width:82px}.student-task-problems{padding:8px}.student-side-short{display:none!important}.student-side-nav.collapsed .student-side-label{display:inline}.student-side-nav.collapsed nav button{display:block;padding-inline:10px}.student-side-nav nav button.active:after{display:none}.student-pagination{grid-template-columns:1fr auto;gap:6px 10px}.student-pagination>div{grid-column:1 / -1;grid-row:1}.student-pagination>span{grid-column:1;grid-row:2}.student-pagination>small{grid-column:2;grid-row:2}}@media(max-width:560px){.student-problem-card{grid-template-columns:minmax(0,1fr) 90px}.student-problem-state{grid-column:1;grid-row:1}.student-problem-main,.student-card-tags{grid-column:1 / 3}.student-problem-card>.student-problem-action{grid-column:2;grid-row:1}.student-pagination button{min-width:48px;padding-inline:6px}.student-pagination strong{min-width:82px}}.platform-admin-shell .platform-panel{overflow:hidden;border-color:#d6e1e8;border-radius:7px;background:#fff;box-shadow:0 1px 2px #0f172a08}.platform-admin-shell .platform-panel-head{align-items:flex-end;gap:24px;margin:0;border-bottom:1px solid #e3ebf1;padding:17px 20px 14px}.platform-admin-shell .platform-panel-head h2,.platform-admin-shell .platform-stats-section-head h3{margin:2px 0 0;letter-spacing:0}.platform-admin-shell .platform-panel-head p{max-width:760px;margin:5px 0 0;color:#6b7d8e;font-size:12px;line-height:1.55}.platform-admin-shell .platform-section-kicker{display:block;color:#0b7b73;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.platform-admin-shell .platform-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.platform-admin-shell .platform-actions button,.platform-admin-shell .platform-filter-reset{min-height:36px;border:1px solid #c8d6e1;border-radius:5px;padding:0 12px;background:#fff;color:#294258;font-weight:750;cursor:pointer}.platform-admin-shell .platform-actions button.primary{border-color:#0f837a;background:#0f837a;color:#fff}.platform-admin-shell .platform-filter-row{display:grid;align-items:center;gap:8px;margin:0;border-bottom:1px solid #e3ebf1;padding:10px 20px;background:#f7fafc}.platform-admin-shell .platform-filter-row-problems{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(112px,145px)) auto auto}.platform-admin-shell .platform-filter-row-assets,.platform-admin-shell .platform-filter-row-submissions{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(125px,160px)) auto auto}.platform-admin-shell .platform-filter-row-collections{grid-template-columns:minmax(240px,1fr) minmax(125px,160px) auto auto}.platform-admin-shell .platform-filter-row-collections.is-contest{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(125px,160px)) auto auto}.platform-admin-shell .platform-filter-row input,.platform-admin-shell .platform-filter-row select{width:100%;min-height:36px;border:1px solid #cbd8e2;border-radius:5px;padding:7px 10px;background:#fff;color:#20384d;font:inherit}.platform-admin-shell .platform-filter-row input:focus,.platform-admin-shell .platform-filter-row select:focus{border-color:#5bb7af;outline:2px solid rgb(15 131 122 / 10%);outline-offset:0}.platform-admin-shell .platform-filter-reset{color:#496174;white-space:nowrap}.platform-admin-shell .platform-filter-count{min-width:68px;color:#6b7d8e;font-size:12px;font-weight:750;text-align:right;white-space:nowrap}.platform-admin-shell .platform-table-wrap{max-width:100%;overflow:auto}.platform-admin-shell .platform-panel>.platform-table-wrap,.platform-admin-shell .platform-collection-table-wrap{max-height:calc(100vh - 255px);min-height:240px}.platform-admin-shell .platform-pagination{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(100px,1fr);align-items:center;gap:12px;border-top:1px solid #dbe5ec;padding:10px 20px;background:#f8fafc;color:#64778a;font-size:12px}.platform-admin-shell .platform-pagination>div{display:flex;align-items:center;justify-content:center;gap:6px}.platform-admin-shell .platform-pagination button{min-width:58px;min-height:32px;border:1px solid #c8d6e1;border-radius:5px;padding:0 9px;background:#fff;color:#294258;font:inherit;font-weight:750;cursor:pointer}.platform-admin-shell .platform-pagination button:hover:not(:disabled){border-color:#4fa9a1;color:#0b756d}.platform-admin-shell .platform-pagination button:disabled{cursor:not-allowed;opacity:.42}.platform-admin-shell .platform-pagination strong{min-width:92px;color:#20384d;text-align:center}.platform-admin-shell .platform-pagination>small{justify-self:end}.platform-admin-shell .platform-management-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed}.platform-admin-shell .platform-management-table thead th{position:sticky;top:0;z-index:3;border-bottom:1px solid #cfdce5;padding:10px 12px;background:#edf3f7;color:#4b6073;font-size:11px;font-weight:800;text-align:left;white-space:nowrap}.platform-admin-shell .platform-management-table tbody td{border-bottom:1px solid #e7edf2;padding:10px 12px;color:#20384d;font-size:12px;line-height:1.45;vertical-align:middle}.platform-admin-shell .platform-management-table tbody tr:last-child td{border-bottom:0}.platform-admin-shell .platform-management-table tbody tr:hover td{background:#f8fbfc}.platform-admin-shell .platform-management-table td>b,.platform-admin-shell .platform-management-table td>strong{display:block;color:#102a43}.platform-admin-shell .platform-management-table td>small{display:block;margin-top:3px;color:#71849a}.platform-admin-shell .platform-problem-table{min-width:1080px}.platform-admin-shell .platform-problem-table th:nth-child(1){width:120px}.platform-admin-shell .platform-problem-table th:nth-child(2){width:26%}.platform-admin-shell .platform-problem-table th:nth-child(3){width:105px}.platform-admin-shell .platform-problem-table th:nth-child(5){width:88px}.platform-admin-shell .platform-problem-table th:last-child{width:230px}.platform-admin-shell .platform-asset-table{min-width:820px}.platform-admin-shell .platform-asset-table th:nth-child(1){width:86px}.platform-admin-shell .platform-asset-table th:nth-child(2){width:30%}.platform-admin-shell .platform-asset-table th:nth-child(3),.platform-admin-shell .platform-asset-table th:nth-child(4),.platform-admin-shell .platform-asset-table th:nth-child(5){width:100px}.platform-admin-shell .platform-asset-table th:last-child{width:170px}.platform-admin-shell .platform-collection-table{min-width:960px}.platform-admin-shell .platform-collection-table th:nth-child(1){width:29%}.platform-admin-shell .platform-collection-table th:nth-child(2){width:110px}.platform-admin-shell .platform-collection-table th:nth-child(3){width:22%}.platform-admin-shell .platform-collection-table th:nth-child(4){width:120px}.platform-admin-shell .platform-collection-table th:nth-child(5){width:116px}.platform-admin-shell .platform-collection-table th:last-child{width:210px}.platform-admin-shell .platform-submission-table{min-width:980px}.platform-admin-shell .platform-submission-table th:nth-child(1){width:150px}.platform-admin-shell .platform-submission-table th:nth-child(2){width:190px}.platform-admin-shell .platform-submission-table th:nth-child(3){width:22%}.platform-admin-shell .platform-submission-table th:nth-child(4){width:100px}.platform-admin-shell .platform-submission-table th:nth-child(5){width:118px}.platform-admin-shell .platform-submission-table th:nth-child(6){width:92px}.platform-admin-shell .platform-submission-table th:last-child{width:112px}.platform-admin-shell .platform-empty-cell{height:150px;color:#7b8d9e!important;text-align:center!important}.platform-admin-shell .platform-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.platform-admin-shell .platform-row-actions button{min-width:auto;min-height:30px;border:1px solid #c8d7e3;border-radius:4px;padding:0 8px;background:#fff;color:#0d6d86;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.platform-admin-shell .platform-row-actions button:hover{border-color:#7db7c8;background:#eff8fa}.platform-admin-shell .platform-row-actions button.danger{border-color:#f2c4c4;color:#b4232c}.platform-admin-shell .asset-preview{display:grid;place-items:center;width:58px;height:44px;overflow:hidden;border:1px solid #d6e1e8;border-radius:4px;background:#f8fafc;color:#65798c;font-size:10px}.platform-admin-shell .asset-preview img{width:100%;height:100%;object-fit:contain}.platform-admin-shell .platform-dialog{display:flex;flex-direction:column;width:min(780px,100%);max-height:calc(100vh - 48px);overflow:hidden;padding:0}.platform-admin-shell .platform-dialog.large{width:min(1180px,100%)}.platform-admin-shell .platform-dialog.platform-ranking-modal{width:min(860px,100%)}.platform-admin-shell .platform-dialog.platform-submission-dialog{width:min(900px,100%)}.platform-admin-shell .platform-dialog .platform-modal-head{flex:0 0 auto;align-items:center;margin:0;border-bottom:1px solid #dfe8ef;padding:15px 18px 13px;background:#fff}.platform-admin-shell .platform-dialog .platform-modal-head span{color:#0b7b73;font-size:11px;font-weight:800}.platform-admin-shell .platform-dialog .platform-modal-head h2{margin:2px 0 0;font-size:19px}.platform-admin-shell .platform-dialog .platform-modal-head>button{min-height:32px;padding:0 11px}.platform-admin-shell .platform-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px 18px}.platform-admin-shell .platform-dialog>.platform-form-actions{flex:0 0 auto;display:flex;gap:8px;justify-content:flex-end;margin:0;border-top:1px solid #dfe8ef;padding:12px 18px;background:#f8fafc}.platform-admin-shell .platform-dialog>.platform-form-actions button{min-height:36px;border-radius:5px;padding:0 15px}.platform-admin-shell .platform-form-grid,.platform-admin-shell .platform-format-fields,.platform-admin-shell .platform-code-grid{gap:10px}.platform-admin-shell .platform-form-grid label,.platform-admin-shell .platform-wide-field,.platform-admin-shell .platform-format-fields label,.platform-admin-shell .platform-code-grid label,.platform-admin-shell .platform-dialog-body>label{color:#40566c;font-size:11px;font-weight:800}.platform-admin-shell .platform-dialog input,.platform-admin-shell .platform-dialog select,.platform-admin-shell .platform-dialog textarea{border-color:#cbd8e2;border-radius:5px}.platform-admin-shell .platform-reference-upload,.platform-admin-shell .platform-sample-editor article,.platform-admin-shell .platform-problem-picker{border-radius:5px}.platform-admin-shell .platform-problem-picker{max-height:300px;margin-top:12px;padding:8px}.platform-admin-shell .platform-picker-head{top:-8px;border-bottom:1px solid #e3ebf1;padding:8px 2px}.platform-admin-shell .platform-ranking-table{min-width:680px}.platform-admin-shell .platform-ranking-table th:first-child{width:80px}.platform-admin-shell .platform-ranking-table th:nth-child(3),.platform-admin-shell .platform-ranking-table th:nth-child(4),.platform-admin-shell .platform-ranking-table th:nth-child(5){width:110px}.platform-admin-shell .platform-rank{display:inline-grid;place-items:center;min-width:38px;min-height:26px;border-radius:4px;background:#edf2f6;color:#425a70}.platform-admin-shell .platform-rank-1{background:#fff3bf;color:#8a5a00}.platform-admin-shell .platform-rank-2{background:#e9eef3;color:#43566a}.platform-admin-shell .platform-rank-3{background:#f4e4d8;color:#7d4a27}.platform-admin-shell .platform-submission-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.platform-admin-shell .platform-submission-detail>div{border:1px solid #dfe8ef;border-radius:5px;padding:9px 10px;background:#f8fafc}.platform-admin-shell .platform-submission-detail span,.platform-admin-shell .platform-submission-detail strong{display:block}.platform-admin-shell .platform-submission-detail span{color:#71849a;font-size:10px}.platform-admin-shell .platform-submission-detail strong{margin-top:3px;color:#17324d;font-size:12px}.platform-admin-shell .platform-code-heading{margin:14px 0 7px;font-size:12px}.platform-admin-shell .platform-stats-panel{overflow:visible}.platform-admin-shell .platform-stats-head{align-items:center}.platform-admin-shell .platform-date-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:7px}.platform-admin-shell .platform-date-filter label{min-width:138px}.platform-admin-shell .platform-date-filter select{min-width:130px}.platform-admin-shell .platform-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.platform-admin-shell .platform-metrics article{min-height:108px;border-color:#d8e3eb;border-radius:6px;padding:14px;background:#fff}.platform-admin-shell .platform-metrics strong{margin:6px 0 3px;color:#102a43;font-size:25px}.platform-admin-shell .platform-stats-grid{gap:10px;margin-top:0}.platform-admin-shell .platform-stats-grid>section{overflow:hidden;border-color:#d8e3eb;padding:0;background:#fff}.platform-admin-shell .platform-stats-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e3ebf1;padding:12px 14px}.platform-admin-shell .platform-stats-section-head span{color:#71849a;font-size:11px}.platform-admin-shell .platform-stats-grid .platform-table-wrap{max-height:360px;min-height:0}.platform-admin-shell .platform-contest-stats-table{min-width:760px}.platform-admin-shell .platform-contest-stats-table th:first-child{width:36%}.platform-admin-shell .platform-analysis-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-bottom:1px solid #e3ebf1;padding:14px 20px 0}.platform-admin-shell .platform-analysis-overview-head h3,.platform-admin-shell .platform-analytics-trend h3,.platform-admin-shell .platform-analytics-detail-grid h3{margin:0;color:#17324d}.platform-admin-shell .platform-analysis-overview-head p,.platform-admin-shell .platform-analytics-trend p{margin:4px 0 12px;color:#6b7d8e;font-size:12px}.platform-admin-shell .platform-analysis-overview-actions,.platform-admin-shell .platform-analytics-head-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.platform-admin-shell .platform-analysis-overview-actions>button,.platform-admin-shell .platform-analytics-head-actions>button,.platform-admin-shell .platform-analytics-filters>button{min-height:36px;border:1px solid #c8d6e1;border-radius:5px;padding:0 12px;background:#fff;color:#294258;font-weight:750;white-space:nowrap;cursor:pointer}.platform-admin-shell .platform-analysis-overview-actions>button.primary,.platform-admin-shell .platform-analytics-filters>button.primary{border-color:#0f837a;background:#0f837a;color:#fff}.platform-admin-shell .platform-analysis-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 20px}.platform-admin-shell .platform-metric-action{padding:0}.platform-admin-shell .platform-metric-action>button{width:100%;min-height:106px;border:0;border-radius:inherit;padding:14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.platform-admin-shell .platform-metric-action:hover{border-color:#76bdb7;background:#f3fbfa}.platform-admin-shell .platform-metric-action>button:focus-visible{outline:3px solid rgb(15 131 122 / 22%);outline-offset:-3px}.platform-admin-shell .platform-analytics-range-prompt{margin:14px 20px 20px;border:1px solid #d8e3eb;border-radius:6px;padding:22px;background:#f8fafc;color:#60778b;font-size:12px;text-align:center}.platform-admin-shell .platform-analytics-head{align-items:center}.platform-admin-shell .platform-analytics-filters{grid-template-columns:minmax(180px,1.4fr) repeat(6,minmax(108px,.8fr)) auto auto auto}.platform-admin-shell .platform-attention-filter{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;border-top:1px solid #dfe8ef;padding-top:9px}.platform-admin-shell .platform-attention-filter>strong{color:#17324d;font-size:12px;white-space:nowrap}.platform-admin-shell .platform-attention-filter>label{display:flex;align-items:center;gap:7px;color:#536a7d;font-size:11px;font-weight:700;white-space:nowrap}.platform-admin-shell .platform-attention-filter select{width:auto;min-width:82px;min-height:32px;padding-block:5px}.platform-admin-shell .platform-attention-filter>span{min-width:0;margin-left:auto;color:#6b7d8e;font-size:11px;text-align:right}.platform-admin-shell .platform-analytics-table-wrap{max-height:calc(100vh - 320px);min-height:280px}.platform-admin-shell .platform-analytics-table{min-width:1500px}.platform-admin-shell .platform-analytics-table th:nth-child(1){width:245px}.platform-admin-shell .platform-analytics-table th:nth-child(2){width:100px}.platform-admin-shell .platform-analytics-table th:nth-child(3),.platform-admin-shell .platform-analytics-table th:nth-child(4){width:112px}.platform-admin-shell .platform-analytics-table th:nth-child(5),.platform-admin-shell .platform-analytics-table th:nth-child(6){width:120px}.platform-admin-shell .platform-analytics-table th:nth-child(7){width:105px}.platform-admin-shell .platform-analytics-table th:nth-child(8){width:150px}.platform-admin-shell .platform-analytics-table th:nth-child(9){width:180px}.platform-admin-shell .platform-analytics-table th:last-child{width:105px}.platform-admin-shell .platform-dialog.platform-analytics-dialog{width:min(1120px,100%)}.platform-admin-shell .platform-analytics-detail-context{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.platform-admin-shell .platform-analytics-detail-context span{border:1px solid #d7e2e9;border-radius:999px;padding:4px 9px;background:#f6f9fb;color:#4d6478;font-size:11px;font-weight:750}.platform-admin-shell .platform-analytics-detail-context span.attention{border-color:#f0b8b8;background:#fff1f1;color:#b4232c}.platform-admin-shell .platform-analytics-detail-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.platform-admin-shell .platform-analytics-detail-metrics article{min-height:94px;border:1px solid #dbe5ec;border-radius:6px;padding:11px;background:#f8fafc}.platform-admin-shell .platform-analytics-detail-metrics article>span,.platform-admin-shell .platform-analytics-detail-metrics article>strong,.platform-admin-shell .platform-analytics-detail-metrics article>small{display:block}.platform-admin-shell .platform-analytics-detail-metrics article>span{color:#65798c;font-size:11px}.platform-admin-shell .platform-analytics-detail-metrics article>strong{margin:6px 0 3px;color:#102a43;font-size:21px}.platform-admin-shell .platform-analytics-detail-metrics article>small{color:#71849a;font-size:10px;line-height:1.4}.platform-admin-shell .platform-analytics-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.platform-admin-shell .platform-analytics-detail-grid>section,.platform-admin-shell .platform-analytics-trend{overflow:hidden;border:1px solid #dbe5ec;border-radius:6px;background:#fff}.platform-admin-shell .platform-analytics-detail-grid h3,.platform-admin-shell .platform-analytics-trend>div:first-child{padding:10px 12px}.platform-admin-shell .platform-analytics-detail-grid table{width:100%;border-collapse:collapse}.platform-admin-shell .platform-analytics-detail-grid th,.platform-admin-shell .platform-analytics-detail-grid td{border-top:1px solid #e7edf2;padding:8px 10px;color:#40566c;font-size:11px;text-align:left}.platform-admin-shell .platform-analytics-detail-grid th{background:#f7fafc;color:#66798a}.platform-admin-shell .platform-analytics-empty{margin:0!important;padding:18px 12px;color:#71849a;font-size:11px;text-align:center}.platform-admin-shell .platform-analytics-trend{margin-top:12px}.platform-admin-shell .platform-analytics-trend>div:first-child{border-bottom:1px solid #e3ebf1}.platform-admin-shell .platform-analytics-trend>div:first-child p{margin-bottom:0}.platform-admin-shell .platform-analytics-trend .platform-table-wrap{max-height:230px}.platform-admin-shell .redemption-admin-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #dfe8ef;padding:10px 20px;background:#f7fafc}.platform-admin-shell .redemption-admin-tabs button{min-height:34px;border:1px solid #cbd8e2;border-radius:5px;padding:0 13px;color:#40566c;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.platform-admin-shell .redemption-admin-tabs button.active{border-color:#0f837a;color:#fff;background:#0f837a}.platform-admin-shell .redemption-catalog-filter{grid-template-columns:minmax(260px,1fr) auto}.platform-admin-shell .redemption-catalog-table{min-width:980px}.platform-admin-shell .redemption-catalog-table th:nth-child(1){width:27%}.platform-admin-shell .redemption-catalog-table th:nth-child(2){width:100px}.platform-admin-shell .redemption-catalog-table th:nth-child(3){width:130px}.platform-admin-shell .redemption-catalog-table th:nth-child(4){width:130px}.platform-admin-shell .redemption-catalog-table th:nth-child(5){width:140px}.platform-admin-shell .redemption-catalog-table th:last-child{width:230px}.platform-admin-shell .redemption-create-form{padding:18px 20px 20px}.platform-admin-shell .redemption-create-form .platform-form-grid,.platform-admin-shell .redemption-create-form .platform-wide-field{margin-top:14px}.platform-admin-shell .redemption-create-form .platform-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.platform-admin-shell .redemption-form-note{display:grid;gap:4px;border:1px solid #cbe4df;border-radius:6px;padding:11px 13px;color:#496174;background:#f0faf8;font-size:12px}.platform-admin-shell .redemption-form-note strong{color:#0b756d}.platform-admin-shell .redemption-form-note span{line-height:1.55}.platform-admin-shell .redemption-avatar-upload{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;margin-top:14px;border:1px solid #cddce6;border-radius:8px;padding:16px;background:#f8fbfd}.platform-admin-shell .redemption-avatar-preview{display:grid;width:124px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px dashed #9fb7c8;border-radius:50%;color:#71849a;background:#fff;font-size:12px;line-height:1.55;text-align:center}.platform-admin-shell .redemption-avatar-preview img{width:100%;height:100%;object-fit:cover}.platform-admin-shell .redemption-avatar-upload-copy{display:grid;gap:7px}.platform-admin-shell .redemption-avatar-upload-copy strong{color:#102a43;font-size:15px}.platform-admin-shell .redemption-avatar-upload-copy p{margin:0;color:#6b7d8e;font-size:11px;line-height:1.6}.platform-admin-shell .redemption-avatar-upload-copy .platform-actions{justify-content:flex-start;margin-top:4px}.platform-admin-shell .redemption-file-button{position:relative;display:inline-flex;min-height:36px;align-items:center;justify-content:center;border:1px solid #0f837a;border-radius:5px;padding:0 14px;color:#fff;background:#0f837a;cursor:pointer;font-size:12px;font-weight:800}.platform-admin-shell .redemption-file-button:focus-within{outline:2px solid #5bc0b6;outline-offset:2px}.platform-admin-shell .redemption-file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.platform-admin-shell .redemption-summary-only{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 20px 22px}.platform-admin-shell .redemption-summary-only>div{display:grid;gap:5px;border:1px solid #d9e5ec;border-radius:7px;padding:16px;background:#fbfdfe}.platform-admin-shell .redemption-summary-only span,.platform-admin-shell .redemption-summary-only small{color:#6b7d8e;font-size:11px}.platform-admin-shell .redemption-summary-only b{color:#102a43;font-size:25px}.platform-admin-shell .redemption-order-table,.platform-admin-shell .redemption-points-table{min-width:980px}.platform-admin-shell .redemption-points-filter{grid-template-columns:minmax(260px,1fr) auto auto}.platform-admin-shell .redemption-points-filter button.primary{min-height:36px;border:1px solid #0f837a;border-radius:5px;padding:0 15px;color:#fff;background:#0f837a;font-weight:800}.platform-admin-shell .redemption-loading{min-height:180px;margin:0;padding:60px 20px;color:#6b7d8e;text-align:center}@media(max-width:760px){.platform-admin-shell .redemption-summary-only{grid-template-columns:1fr}.platform-admin-shell .redemption-create-form{padding:14px}.platform-admin-shell .redemption-avatar-upload{grid-template-columns:1fr}.platform-admin-shell .redemption-avatar-preview{width:108px;margin-inline:auto}}@media(max-width:1240px){.platform-admin-shell .platform-filter-row-problems,.platform-admin-shell .platform-filter-row-assets,.platform-admin-shell .platform-filter-row-submissions,.platform-admin-shell .platform-filter-row-collections,.platform-admin-shell .platform-filter-row-collections.is-contest{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-admin-shell .platform-filter-row input:first-child{grid-column:1 / -1}.platform-admin-shell .platform-filter-count{justify-self:end}.platform-admin-shell .platform-form-grid.four,.platform-admin-shell .platform-submission-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-admin-shell .platform-analytics-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-admin-shell .platform-analytics-filters input:first-child{grid-column:1 / -1}.platform-admin-shell .platform-analysis-overview-head,.platform-admin-shell .platform-analysis-overview-actions,.platform-admin-shell .platform-analytics-head,.platform-admin-shell .platform-analytics-head-actions{align-items:stretch;flex-direction:column}.platform-admin-shell .platform-analysis-overview-actions,.platform-admin-shell .platform-analytics-head-actions{width:100%}}@media(max-width:820px){.platform-admin-shell .platform-panel-head{align-items:stretch;padding:14px}.platform-admin-shell .platform-actions{justify-content:flex-start}.platform-admin-shell .platform-filter-row{grid-template-columns:1fr!important;padding:10px 14px}.platform-admin-shell .platform-filter-row input:first-child{grid-column:auto}.platform-admin-shell .platform-filter-count{justify-self:start;text-align:left}.platform-admin-shell .platform-panel>.platform-table-wrap,.platform-admin-shell .platform-collection-table-wrap{max-height:none}.platform-admin-shell .platform-form-grid.four,.platform-admin-shell .platform-format-fields,.platform-admin-shell .platform-code-grid,.platform-admin-shell .platform-submission-detail,.platform-admin-shell .platform-metrics,.platform-admin-shell .platform-stats-grid,.platform-admin-shell .platform-analytics-detail-metrics,.platform-admin-shell .platform-analytics-detail-grid{grid-template-columns:1fr}.platform-admin-shell .platform-analysis-overview-head{padding:14px}.platform-admin-shell .platform-analysis-metrics{margin:12px 14px}.platform-admin-shell .platform-analytics-filters{grid-template-columns:1fr}.platform-admin-shell .platform-analytics-filters input:first-child,.platform-admin-shell .platform-attention-filter{grid-column:auto}.platform-admin-shell .platform-modal-backdrop{padding:8px}.platform-admin-shell .platform-dialog{max-height:calc(100vh - 16px)}.platform-admin-shell .platform-pagination{grid-template-columns:1fr auto;padding:10px 14px}.platform-admin-shell .platform-pagination>div{grid-column:1 / -1;grid-row:1;justify-content:flex-start;overflow-x:auto}.platform-admin-shell .platform-pagination>span{grid-column:1}.platform-admin-shell .platform-pagination>small{grid-column:2}}@media(max-width:560px){.platform-admin-shell .platform-attention-filter{align-items:stretch;flex-direction:column}.platform-admin-shell .platform-attention-filter>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,1fr);white-space:normal}.platform-admin-shell .platform-attention-filter select{width:100%}.platform-admin-shell .platform-attention-filter>span{margin-left:0;text-align:left}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}img,svg{max-width:100%}.workspace-main,.student-portal-main,.platform-admin-main,.problem-workspace,.problem-workspace>.solve-layout,.creation-grid,.creation-code-panel,.creation-canvas-panel,.editor-panel,.result-panel,.editor-body,.blockly-shell,.blockly-workspace-wrap,.blockly-host{min-width:0}.problem-workspace>.problem-sheet,.editor-body,.platform-admin-shell .platform-table-wrap,.platform-admin-shell .platform-dialog-body,.blockly-workspace-wrap,.student-page{-webkit-overflow-scrolling:touch}.problem-workspace>.problem-sheet,.platform-admin-shell .platform-table-wrap,.platform-admin-shell .platform-dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable}.platform-modal-backdrop,.preview-modal-backdrop,.submit-popup-backdrop,.history-modal-backdrop{-webkit-backdrop-filter:blur(2px)}@media(min-width:960px)and (max-width:1180px){.problem-workspace{grid-template-columns:clamp(220px,var(--problem-pane, 23%),min(400px,calc(100% - 680px))) 8px minmax(0,1fr);gap:4px;padding:8px}.problem-workspace>.problem-resizer{top:60px;min-height:calc(100vh - 68px)}.problem-workspace>.problem-sheet{top:60px;max-height:calc(100vh - 68px);padding-inline:10px}.problem-workspace .problem-breadcrumb{margin-inline:-10px;padding-inline:10px}.problem-workspace>.solve-layout{grid-template-columns:minmax(320px,var(--editor-pane, 54%)) 8px minmax(280px,1fr);gap:6px}.problem-workspace .editor-panel,.problem-workspace .result-panel,.problem-workspace .split-resizer{min-height:calc(100vh - 68px)}.problem-workspace .editor-panel-head,.problem-workspace .result-panel-head{padding-inline:10px}}@supports (height: 100dvh){.app-shell{min-height:100dvh}.student-portal-shell,.platform-admin-shell{min-height:calc(100dvh - var(--workspace-header-height, 52px))}.student-side-nav,.platform-admin-sidebar{height:calc(100dvh - var(--workspace-header-height, 52px))}.platform-admin-shell .platform-panel>.platform-table-wrap,.platform-admin-shell .platform-collection-table-wrap{max-height:calc(100dvh - 255px)}.platform-admin-shell .platform-dialog{max-height:calc(100dvh - 48px)}@media(min-width:960px){.problem-workspace>.problem-resizer{min-height:calc(100dvh - 74px)}.problem-workspace>.problem-sheet{max-height:calc(100dvh - 74px)}.problem-workspace .editor-panel,.problem-workspace .result-panel,.problem-workspace .split-resizer{min-height:calc(100dvh - 74px)}}@media(min-width:960px)and (max-width:1180px){.problem-workspace>.problem-resizer{min-height:calc(100dvh - 68px)}.problem-workspace>.problem-sheet{max-height:calc(100dvh - 68px)}.problem-workspace .editor-panel,.problem-workspace .result-panel,.problem-workspace .split-resizer{min-height:calc(100dvh - 68px)}}@media(max-width:820px){.student-side-nav,.platform-admin-sidebar{height:auto}.platform-modal,.preview-modal,.history-modal{max-height:calc(100dvh - 20px)}.platform-admin-shell .platform-dialog{max-height:calc(100dvh - 16px)}.problem-workspace .editor-panel,.problem-workspace .result-panel{min-height:clamp(460px,calc(100dvh - 120px),620px)}}}@media(forced-colors:active){.problem-resizer,.split-resizer,.platform-admin-shell button,.student-side-nav button{forced-color-adjust:auto}}.workspace-more{position:relative;flex:0 0 auto}.workspace-session .workspace-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.workspace-more-toggle[aria-expanded=true]{border-color:var(--jc-primary);color:var(--jc-primary);background:var(--jc-primary-soft)}.workspace-more-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.workspace-more-panel{position:absolute;z-index:1;top:calc(100% + 8px);right:0;width:224px;max-width:calc(100vw - 24px);padding:6px;border:1px solid var(--jc-line);border-radius:var(--jc-radius-md);background:var(--jc-surface);box-shadow:0 8px 24px #1f344924}.workspace-more-panel a{display:flex;align-items:center;gap:10px;min-height:44px;border-radius:5px;padding:10px 12px;color:var(--jc-ink);text-decoration:none;white-space:nowrap}.workspace-more-panel a:hover,.workspace-more-panel a:focus-visible{color:var(--jc-primary);background:var(--jc-primary-soft)}.workspace-nav .workspace-more-panel span{flex:1;color:inherit;font-size:var(--jc-text-md);font-weight:600}.workspace-more-panel svg{flex:0 0 auto}.workspace-nav-with-return{flex-wrap:nowrap}.workspace-nav-with-return>.workspace-brand{flex:0 1 auto}.workspace-nav-with-return .personal-center-return{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-width:132px;min-height:var(--jc-control-md);margin-right:0;border:1px solid var(--jc-line-strong);border-radius:var(--jc-radius-md);padding:0 var(--jc-space-4);color:var(--jc-primary);background:var(--jc-surface);box-shadow:var(--jc-shadow-xs);font-size:var(--jc-text-md);font-weight:600;line-height:1;white-space:nowrap}.workspace-nav-with-return .personal-center-return span{color:inherit;font-size:inherit}.workspace-nav-with-return .personal-center-return:hover:not(:disabled){border-color:var(--jc-primary);background:var(--jc-primary-soft)}.workspace-nav-with-return .personal-center-return:disabled{cursor:wait;opacity:.65}.workspace-nav-with-return>.workspace-session{flex:0 1 auto;flex-direction:row;align-items:center;min-width:0}.workspace-nav-with-return .session-chip{min-width:0}.workspace-nav-with-return .session-chip>span{min-width:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-nav-with-return .session-chip>button{flex:0 0 auto;white-space:nowrap}@media(max-width:600px){.workspace-session{position:relative}.workspace-session .workspace-more{position:static}.workspace-nav-with-return{gap:8px;flex-wrap:wrap}.workspace-nav-with-return>.workspace-session{flex:1 1 100%;justify-content:flex-end}.workspace-nav-with-return>.workspace-brand{flex:0 0 auto}.workspace-nav-with-return .workspace-brand-copy{display:none}.workspace-nav-with-return .personal-center-return{gap:6px;min-width:118px;padding-inline:9px;font-size:13px}.workspace-nav-with-return .session-chip>span{max-width:124px;font-size:12px}}.workspace-nav-with-return>.workspace-session{margin-left:auto}.workspace-more-account{margin-top:5px;border-top:1px solid var(--jc-line);padding-top:5px}.workspace-more-panel .workspace-more-logout{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:0;padding:10px 12px;background:transparent;box-shadow:none;color:var(--jc-ink);text-align:left}.workspace-more-panel .workspace-more-logout:hover,.workspace-more-panel .workspace-more-logout:focus-visible{background:var(--jc-primary-soft);color:var(--jc-primary)}@media(min-width:601px)and (max-width:950px){.workspace-nav-with-return{gap:8px;padding-inline:12px}.workspace-nav-with-return>.workspace-brand{flex:0 1 auto;gap:7px}.workspace-nav-with-return .workspace-brand-mark{flex-basis:40px;width:40px}.workspace-nav-with-return .workspace-brand-copy span{display:none}.workspace-nav-with-return .workspace-brand-copy strong{font-size:15px;white-space:nowrap}.workspace-nav-with-return>.workspace-session{flex:1 1 auto;justify-content:flex-end;gap:5px;overflow:visible}.workspace-nav-with-return .workspace-more-toggle,.workspace-nav-with-return .personal-center-return{min-height:32px;padding-inline:9px;font-size:12px}.workspace-nav-with-return .personal-center-return{gap:5px;min-width:108px}.workspace-nav-with-return .session-chip{gap:4px}.workspace-nav-with-return .session-chip>span{max-width:clamp(64px,12vw,114px);font-size:12px}.workspace-nav-with-return .workspace-session .session-avatar-button{flex-basis:34px;width:34px;height:34px;min-height:34px}.workspace-nav-with-return .session-avatar-button .account-avatar-small{width:29px;height:29px}}.workspace-nav .workspace-more-panel.workspace-more-with-themes{width:342px;max-height:calc(100dvh - 100px);overflow-y:auto}.workspace-session .workspace-more-panel .workspace-theme-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:5px;box-shadow:none;color:var(--jc-ink);background:transparent;text-align:left}.workspace-session .workspace-more-panel .workspace-theme-toggle:hover,.workspace-session .workspace-more-panel .workspace-theme-toggle:focus-visible{color:var(--jc-primary);background:var(--jc-primary-soft)}.workspace-theme-picker{margin:6px 4px 2px;padding-top:12px;border-top:1px solid var(--jc-line)}.workspace-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workspace-session .workspace-more-panel .workspace-theme-option{display:flex;align-items:center;gap:7px;width:100%;min-height:54px;padding:8px;border:1px solid var(--jc-line);border-radius:8px;box-shadow:none;background:var(--jc-surface);color:var(--jc-ink);text-align:left}.workspace-session .workspace-more-panel .workspace-theme-option[aria-pressed=true]{border-color:var(--jc-primary);background:var(--jc-primary-soft);box-shadow:inset 0 0 0 1px var(--jc-primary)}.workspace-session .workspace-more-panel .workspace-theme-option:hover:not(:disabled){border-color:var(--jc-primary)}.workspace-nav .workspace-more-panel .workspace-theme-option span{font-size:14px;font-weight:600;white-space:nowrap}.workspace-theme-option>svg{color:var(--jc-primary)}.workspace-theme-swatch{display:inline-flex;align-items:flex-end;width:24px;height:28px;flex:0 0 24px;border:1px solid;border-radius:4px;overflow:hidden}.workspace-theme-swatch>i{display:block;width:7px;height:100%}.workspace-theme-feedback{display:flex;align-items:center;gap:6px;padding:12px 2px 5px}.workspace-nav .workspace-more-panel .workspace-theme-feedback span{font-size:12px;line-height:1.6;font-weight:400;color:var(--jc-muted)}.workspace-session .workspace-more-panel .workspace-theme-retry{min-height:36px;padding:4px 8px;flex:0 0 auto;border:1px solid var(--jc-line);border-radius:5px;background:var(--jc-surface);color:var(--jc-primary);font-size:13px}.workspace-more-panel button:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}@media(max-width:360px){.workspace-theme-options{grid-template-columns:1fr}}html[data-jc-theme=sky]{--jc-primary: #2469b4;--jc-primary-hover: #205d9f;--jc-primary-active: #194c85;--jc-primary-soft: #e0edfc;--jc-page: #edf4fc;--jc-surface: #ffffff;--jc-surface-soft: #f4f8fe;--jc-surface-hover: #e8f1fd;--jc-line: #cfdeef;--jc-line-strong: #b5cbe4;--jc-theme-primary-rgb: 36 105 180}html[data-jc-theme=apricot]{--jc-primary: #9e5418;--jc-primary-hover: #914d13;--jc-primary-active: #783e10;--jc-primary-soft: #fbe7cc;--jc-page: #f7f0e6;--jc-surface: #fffdf8;--jc-surface-soft: #fbf5ec;--jc-surface-hover: #fbefde;--jc-line: #e7daca;--jc-line-strong: #d4b995;--jc-theme-primary-rgb: 158 84 24}html[data-jc-theme=violet]{--jc-primary: #7550ac;--jc-primary-hover: #654394;--jc-primary-active: #54377d;--jc-primary-soft: #ece2fa;--jc-page: #f3eff9;--jc-surface: #ffffff;--jc-surface-soft: #f8f5fc;--jc-surface-hover: #f0e8fa;--jc-line: #ded3ec;--jc-line-strong: #c9b5e4;--jc-theme-primary-rgb: 117 80 172}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]){--jc-link: var(--jc-primary);--jc-link-hover: var(--jc-primary-hover);--jc-warm: var(--jc-primary);--jc-teal: var(--jc-primary);--jc-surface-selected: var(--jc-primary-soft);--jc-focus: var(--jc-primary);--jc-focus-ring: 0 0 0 3px rgb(var(--jc-theme-primary-rgb) / .18)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.workspace-nav,.student-side-nav,.problem-mobile-summary,.problem-workspace>.problem-sheet,.student-problem-card,.student-task-card,.student-task-problems .student-problem-card,.student-growth-overview,.student-metric-grid>article,.student-stats-grid>section,.creation-studio-compact .creation-dialog,.creation-studio-compact .creation-work-item,.problem-answer-dialog,.problem-highlight-toolbar,.asset-command-popover,.command-palette,.click-command-workbench,.click-command-dropdown){background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.panel-title-row,.creation-panel-title,.mode-tabs,.blockly-toolbar,.problem-workspace .problem-breadcrumb,.problem-format-grid>section,.sample-card,.student-task-problems,.student-ranking,.student-pagination,.student-list-header,.student-table-card th,.student-stats-grid th,.researcher-workspace-switch,.canvas-stage-toolbar,.canvas-stage-footer,.click-command-menu-bar,.click-command-dropdown-head,.command-palette-head,.problem-answer-heading,.problem-answer-message:not(.problem-answer-error),.generated-code-disclosure,.generated-code-disclosure[open]>summary,.history-empty){border-color:var(--jc-line);background:var(--jc-surface-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-answer-dialog,.problem-answer-heading,.problem-answer-footer,.problem-highlight-toolbar,.asset-command-popover,.command-palette-head,.click-command-search,.blockly-toolbar-group){border-color:var(--jc-line)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-problem-card:hover,.student-task-card:hover){border-top-color:var(--jc-line-strong);border-right-color:var(--jc-line-strong);border-bottom-color:var(--jc-line-strong);background:var(--jc-surface-hover);box-shadow:0 4px 14px rgb(var(--jc-theme-primary-rgb) / .09)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-task-card.locked,.student-ranking li,.student-task-row:hover,.student-table-card tbody tr:hover,.student-stats-grid tbody tr:hover,.student-stats-scroll>button:hover){background:var(--jc-surface-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-side-nav nav button:hover,.student-side-nav nav button.active,.student-side-nav.collapsed nav button.active .student-side-short,.student-section-tabs button.active,.student-top-nav button.active,.student-card-tags>span,.student-problem-badges>span,.student-problem-badges .problem-topic-tag,.tag-row>span,.student-contest-group>h3>span,.student-task-strip,.creation-studio-compact .creation-work-item[aria-current=true]){color:var(--jc-primary);background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-side-nav.collapsed nav button.active .student-side-short,.student-section-tabs button.active,.student-top-nav button.active,.student-task-strip,.creation-studio-compact .creation-work-item[aria-current=true]){border-color:var(--jc-primary);box-shadow:none}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .student-ranking li.is-current-user{outline-color:var(--jc-primary);background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-id,.problem-meta>strong,.problem-sheet h2,.problem-section h3,.problem-preview figcaption,.problem-breadcrumb>span,.preview-modal-title h2,.history-code>div,.creation-work-current,.student-task-summary>strong){color:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .student-xp-progress{background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .student-xp-progress>span{background:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-side-toggle,.student-pagination button:not(:disabled),.student-side-nav.collapsed nav button:not(.active) .student-side-short,.problem-breadcrumb .problem-answer-button,.problem-mobile-summary button,.student-problem-card>.student-problem-action,.student-task-toggle:not(:disabled):not(.join-contest),.editor-mode-tabs .mode-context-actions>button:not(:disabled),.blockly-toolbar-group button,.generated-code-disclosure-action,.problem-answer-dialog button,.canvas-stage .canvas-stage-icon,.creation-studio-compact .creation-name-input,.creation-studio-compact .creation-save-name-label>input,.creation-studio-compact .creation-dialog-head>button,.creation-studio-compact .creation-dialog-actions>button:not(.primary):not(.danger):not(:disabled),.creation-studio-compact .creation-dialog-error>button,.command-palette .palette-search,.researcher-workspace-switch select,.asset-command-strip>button,.asset-command-list button):not(:disabled){border-color:var(--jc-line-strong);color:var(--jc-primary);background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.student-side-toggle,.student-pagination button,.problem-breadcrumb .problem-answer-button,.problem-mobile-summary button,.student-problem-card>.student-problem-action,.student-task-toggle:not(.join-contest),.editor-mode-tabs .mode-context-actions>button,.blockly-toolbar-group button,.problem-answer-dialog button,.canvas-stage .canvas-stage-icon,.creation-studio-compact .creation-name-button,.creation-studio-compact .creation-work-item,.creation-studio-compact .creation-dialog-head>button,.creation-studio-compact .creation-dialog-actions>button:not(.primary):not(.danger),.creation-studio-compact .creation-dialog-error>button,.asset-command-strip>button,.asset-command-list button):hover:not(:disabled){border-color:var(--jc-primary);color:var(--jc-primary);background:var(--jc-surface-hover)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.action-row .primary:not(.submitted):not(:disabled),.student-task-toggle.join-contest:not(:disabled),.workspace-nav .researcher-workspace-switch button.active,.canvas-fullscreen-input button:not(:disabled)){border-color:var(--jc-primary);color:#fff;background:var(--jc-primary);box-shadow:0 2px 6px rgb(var(--jc-theme-primary-rgb) / .18)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.action-row .primary:not(.submitted),.student-task-toggle.join-contest,.workspace-nav .researcher-workspace-switch button.active,.canvas-fullscreen-input button):hover:not(:disabled){border-color:var(--jc-primary-hover);background:var(--jc-primary-hover)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-workspace .console-panel,.creation-studio .creation-console-panel){border-color:var(--jc-line);background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-workspace .console-row-input,.problem-workspace .console-row-output){border-color:var(--jc-line);background:var(--jc-surface-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-workspace .console-row-input>span,.problem-workspace .console-row-output>span,.creation-console-panel .console-row>span,.canvas-fullscreen-input label){color:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-workspace .console-row textarea:not(.awaiting-input),.creation-console-panel .console-row textarea:not(.awaiting-input),.canvas-fullscreen-input textarea){border-color:var(--jc-line-strong);background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .research-creation .creation-interactive-toggle input:checked{border-color:var(--jc-primary);background:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .research-creation .creation-interactive-toolbar>button{border-color:var(--jc-line-strong);color:var(--jc-primary);background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.command-palette,.click-command-dropdown){border-right-color:var(--jc-line-strong);border-bottom-color:var(--jc-line-strong);border-left-color:var(--jc-line-strong)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .click-command-menu-buttons>button:not(.active){border-color:var(--jc-line-strong);background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .click-command-menu-buttons>button.active:not(.cpp):not(.math):not(.sound):not(.color){border-color:var(--jc-primary);color:var(--jc-primary);background:var(--jc-primary-soft);box-shadow:0 0 0 2px rgb(var(--jc-theme-primary-rgb) / .1)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.command-palette .palette-command-card,.command-palette .palette-asset){border-top-color:var(--jc-line);border-right-color:var(--jc-line);border-bottom-color:var(--jc-line);background:var(--jc-surface)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.command-palette .palette-command-card.recommended,.command-palette .palette-command-card:hover,.command-palette .palette-asset:hover){border-top-color:var(--jc-primary);border-right-color:var(--jc-primary);border-bottom-color:var(--jc-primary);background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.command-palette .palette-command-section.recommended .palette-section-title,.command-palette .palette-command-card em){color:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) .command-palette .palette-command-card em{background:var(--jc-primary-soft)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.command-palette .command-palette-head>button:hover,.problem-highlight-toolbar button:hover){color:var(--jc-primary);background:var(--jc-surface-hover)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.canvas-stage .canvas-stage-icon[aria-pressed=true],.command-palette .palette-search:focus-within,.click-command-search:focus-within){border-color:var(--jc-primary)}html:is([data-jc-theme=sky],[data-jc-theme=apricot],[data-jc-theme=violet]) :is(.problem-highlight-toolbar button,.problem-answer-dialog button,.problem-answer-viewport,.canvas-stage .canvas-stage-icon,.canvas-fullscreen-input textarea,.command-palette button,.command-palette-drag-handle):focus-visible{outline-color:var(--jc-focus)}.student-portal-shell.learning-refresh .student-page{grid-template-columns:minmax(0,1fr);min-width:0;gap:18px;padding:22px 26px 36px}.learning-refresh .student-side-nav nav{gap:6px;padding:12px 9px}.learning-refresh .student-side-nav nav button{grid-template-columns:32px minmax(0,1fr);gap:10px;min-height:50px;border-left:0;border-radius:10px;padding:9px 12px;font-size:15px}.learning-refresh .student-side-nav .student-side-icon{width:28px;height:28px}.learning-refresh .student-side-nav nav button.active{color:var(--jc-primary)}.learning-refresh .student-side-nav nav button.active:after{display:none}.learning-refresh .student-side-nav nav button:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}.learning-refresh .student-side-nav.collapsed nav button{grid-template-columns:1fr;gap:0;padding:9px 4px}.student-portal-shell.learning-refresh .learning-page-heading{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:20px;border:0;padding:0}.learning-refresh .learning-page-heading>.learning-heading-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0}.learning-refresh .learning-page-heading .learning-heading-copy>span{display:block;grid-row:auto;border:0;padding:0;color:var(--jc-primary);font-size:12px;font-weight:750;letter-spacing:.04em}.learning-refresh .learning-page-heading h2{margin:0;color:var(--jc-ink);font-size:28px;line-height:1.3}.learning-refresh .learning-page-heading p{margin:1px 0 0;color:var(--jc-muted);font-size:13px;line-height:1.55}.learning-refresh .learning-page-heading>.learning-heading-aside{display:flex;flex:0 0 auto;align-items:center;gap:18px}.learning-refresh .learning-heading-count{color:var(--jc-muted);font-size:14px;font-weight:650;white-space:nowrap}.learning-refresh .learning-brand-art{display:block;width:96px;height:96px;object-fit:contain;pointer-events:none}.learning-refresh .learning-heading-icon{width:60px;height:60px;margin-inline:12px}.student-bank-filter-container{container:student-bank-filters / inline-size;min-width:0}.student-portal-shell.learning-refresh .student-bank-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;border:0;border-radius:14px;padding:16px;background:var(--jc-surface);box-shadow:0 2px 12px #172d3f08}.student-portal-shell.learning-refresh .student-bank-filters>:is(label,button){grid-column:auto;grid-row:auto;min-width:0}.student-portal-shell.learning-refresh .student-bank-filters>label:first-child{grid-column:1 / -1}.student-portal-shell.learning-refresh .student-bank-filters>button{width:max-content;height:42px;white-space:nowrap}.student-portal-shell.learning-refresh .student-bank-filters>.student-filter-reset{justify-self:end}@container student-bank-filters (min-width: 680px){.student-portal-shell.learning-refresh .student-bank-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.student-portal-shell.learning-refresh .student-bank-filters>label:first-child{grid-column:span 2}}@container student-bank-filters (min-width: 900px){.student-portal-shell.learning-refresh .student-bank-filters{grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(100px,1fr)) max-content max-content}.student-portal-shell.learning-refresh .student-bank-filters>label:first-child{grid-column:auto}}.learning-refresh .student-bank-filters label{display:grid;gap:7px;min-width:0;color:var(--jc-muted);font-size:12px}.student-portal-shell.learning-refresh .student-bank-filters :is(input,select){width:100%;height:42px;min-width:0;border:1px solid var(--jc-line);border-radius:8px;padding:0 10px;background:var(--jc-surface);color:var(--jc-ink);font-size:14px;font-weight:500}.learning-refresh .student-bank-filters input::placeholder{color:var(--jc-muted);font-size:inherit;font-weight:400}.learning-refresh .student-bank-filters :is(input,select):focus-visible{outline:2px solid var(--jc-primary);outline-offset:1px}.student-portal-shell.learning-refresh .student-filter-reset{height:42px;border:0;border-radius:8px;padding-inline:12px;background:transparent;color:var(--jc-muted);font-size:13px}.student-portal-shell.learning-refresh .student-filter-reset:hover{background:var(--jc-surface-soft);color:var(--jc-primary)}.student-portal-shell.learning-refresh .student-bank-grid{container:student-problem-list / inline-size;overflow:hidden;gap:0;border:1px solid var(--jc-line);border-radius:14px;background:var(--jc-surface);box-shadow:0 3px 18px #172d3f08}.student-portal-shell.learning-refresh .student-problem-card{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(170px,240px) 108px;gap:14px;min-height:98px;border:0;border-bottom:1px solid var(--jc-line);border-radius:0;padding:17px 20px;background:var(--jc-surface);box-shadow:none;transition:background-color .14s ease}.student-portal-shell.learning-refresh .student-task-problems{container:student-problem-list / inline-size}.student-portal-shell.learning-refresh .student-problem-card:last-child{border:0}.student-portal-shell.learning-refresh .student-problem-card:nth-child(2n){background:color-mix(in srgb,var(--jc-surface-soft) 45%,var(--jc-surface))}.student-portal-shell.learning-refresh .student-problem-card:hover{background:var(--jc-surface-hover);box-shadow:none}.student-portal-shell.learning-refresh .student-problem-card:focus-within{background:var(--jc-surface-soft)}.learning-refresh .student-problem-title-line{gap:10px;overflow:hidden}.learning-refresh .student-problem-title-line>a{order:0;min-width:0;max-width:100%;color:var(--jc-ink);font-size:18px;line-height:1.45;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.learning-refresh .student-problem-title-line>a:hover{color:var(--jc-primary)}.learning-refresh .student-problem-title-line>span{order:1;color:var(--jc-muted);font-size:11px}.learning-refresh .student-problem-main>p{margin-top:5px;font-size:13px;line-height:1.5}.student-portal-shell.learning-refresh .student-card-tags{grid-column:auto;gap:6px;flex-wrap:nowrap;overflow:hidden}.learning-refresh #student-portal-content .student-card-tags>span{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--jc-line);border-radius:6px;padding:3px 6px;background:transparent;color:var(--jc-muted);font-size:11px;line-height:1.4;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.learning-refresh #student-portal-content .student-card-tags>span:last-child{border-color:transparent;background:var(--jc-surface-soft)}.learning-refresh #student-portal-content .student-card-tags>.student-difficulty-tag{border-color:transparent}.learning-refresh #student-portal-content .student-card-tags>.difficulty-1{color:#287064;background:#eaf6f1}.learning-refresh #student-portal-content .student-card-tags>.difficulty-2{color:#326aa0;background:#edf4fc}.learning-refresh #student-portal-content .student-card-tags>.difficulty-3{color:#93621b;background:#fff4de}.learning-refresh #student-portal-content .student-card-tags>.difficulty-4{color:#a35429;background:#fff0e6}.learning-refresh #student-portal-content .student-card-tags>.difficulty-5{color:#7851a1;background:#f3edfc}.learning-refresh .student-status-chip{min-width:44px;padding:4px 7px;border-radius:7px;font-size:12px}.student-portal-shell.learning-refresh .student-problem-card>.student-problem-action{grid-column:auto;grid-row:auto;min-width:100px;min-height:38px;height:auto;border:1px solid var(--jc-line-strong);border-radius:8px;padding:8px 12px;background:var(--jc-surface);color:var(--jc-primary);font-size:13px;font-weight:700;white-space:nowrap}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action:hover{border-color:var(--jc-primary);background:var(--jc-primary-soft)}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action=primary]{border-color:var(--jc-primary);background:var(--jc-primary);color:#fff}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action=primary]:hover{border-color:var(--jc-primary-hover);background:var(--jc-primary-hover)}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action=retry]{border-color:var(--jc-line-strong);background:var(--jc-primary-soft);color:var(--jc-primary)}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action=retry]:hover{border-color:var(--jc-primary);background:var(--jc-surface-hover)}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action=view]{border-color:var(--jc-line);background:var(--jc-surface);color:var(--jc-muted)}.learning-refresh #student-portal-content .student-problem-card>.student-problem-action[data-bank-action]:focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.student-portal-shell.learning-refresh .student-pagination{border:0;background:transparent;padding:3px 2px}.student-portal-shell.learning-refresh .student-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;overflow:visible;border:0;background:transparent}.student-portal-shell.learning-refresh .student-task-card{gap:0;overflow:hidden;min-width:0;border:1px solid var(--jc-line);border-radius:14px;padding:0;background:var(--jc-surface);box-shadow:0 3px 18px #172d3f08}.student-portal-shell.learning-refresh .student-task-card:hover{border-color:var(--jc-line-strong);background:var(--jc-surface);box-shadow:0 5px 18px #172d3f0d}.student-portal-shell.learning-refresh .student-task-card.is-expanded{grid-column:1 / -1}.student-portal-shell.learning-refresh .student-task-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px 14px;align-items:start;padding:22px;background:transparent}.student-portal-shell.learning-refresh .student-task-card:not(.is-expanded) .student-task-row{height:100%;grid-template-rows:1fr auto}.learning-refresh #student-portal-content .student-task-row:hover{background:transparent}.learning-refresh .student-task-emblem{display:grid;place-items:center;width:48px;height:52px}.learning-refresh .student-task-emblem svg{width:44px;height:44px}.learning-refresh .student-task-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.learning-refresh .student-task-kicker>span{color:var(--jc-muted);font-size:11px}.learning-refresh .student-task-heading h3{margin:9px 0 7px;line-height:1.4}.learning-refresh .student-task-title-button{color:var(--jc-ink);font-size:19px;text-align:left;white-space:normal;overflow-wrap:anywhere}.learning-refresh .student-task-title-button:hover:not(:disabled){color:var(--jc-primary)}.learning-refresh .student-task-heading p{margin:0;color:var(--jc-muted);font-size:13px;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.learning-refresh .student-task-dates{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:14px 0 0;font-size:12px;line-height:1.5}.learning-refresh .student-task-dates>div{display:flex;gap:12px;min-width:0}.learning-refresh .student-task-dates dt{flex:0 0 auto;color:var(--jc-muted)}.learning-refresh .student-task-dates dd{margin:0;color:var(--jc-ink);overflow-wrap:anywhere}.learning-refresh .student-task-footer{display:flex;grid-column:1 / -1;align-items:end;justify-content:space-between;gap:18px;border-top:1px solid var(--jc-line);padding-top:16px}.learning-refresh .student-task-summary{display:grid;gap:5px;min-width:0;text-align:left}.learning-refresh .student-task-summary>b{color:var(--jc-ink);font-size:14px}.learning-refresh .student-task-summary>small{font-size:12px;line-height:1.45;white-space:normal}.learning-refresh .student-task-progress{width:150px;max-width:100%;height:5px;margin:3px 0;border-radius:10px;background:var(--jc-line);overflow:hidden}.learning-refresh .student-task-progress>span{display:block;height:100%;border-radius:inherit;background:var(--jc-primary)}.learning-refresh #student-portal-content .student-task-toggle:not(:disabled){border-color:var(--jc-primary);background:var(--jc-primary);color:#fff}.learning-refresh #student-portal-content .student-task-toggle:hover:not(:disabled){background:var(--jc-primary-hover)}.learning-refresh .student-task-toggle{flex:0 0 auto;min-width:100px;min-height:38px;height:auto;border-radius:8px;padding:8px 14px;font-size:13px}.student-portal-shell.learning-refresh .student-task-problems{gap:0;padding:0;background:var(--jc-surface)}.learning-refresh .student-task-status{border-radius:6px;padding:3px 6px;font-size:11px}.learning-refresh .student-contest-group{margin-top:0}.learning-refresh .student-contest-group>h3{margin:0 0 12px;padding:0;color:var(--jc-ink);font-size:17px}.learning-refresh .student-contest-group>h3>span{border-radius:12px;font-size:12px}.student-portal-shell.learning-refresh .student-contest-tabs{display:flex;align-items:center;gap:8px;border-top:1px solid var(--jc-line);padding:9px 18px;background:var(--jc-surface-soft)}.learning-refresh .student-contest-tabs button{min-height:36px;border:1px solid transparent;border-radius:8px;padding:7px 16px;background:transparent;color:var(--jc-muted);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.learning-refresh .student-contest-tabs button:hover{color:var(--jc-primary);background:var(--jc-surface-hover)}.learning-refresh .student-contest-tabs button[aria-pressed=true]{border-color:var(--jc-line);background:var(--jc-surface);color:var(--jc-primary);box-shadow:0 2px 7px #172d3f0d}.learning-refresh .student-contest-tabs button:focus-visible,.learning-refresh .student-ranking button:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}.student-portal-shell.learning-refresh .student-task-problems[hidden],.student-portal-shell.learning-refresh .student-ranking[hidden]{display:none!important}.student-portal-shell.learning-refresh .student-ranking{margin:0;border-top:1px solid var(--jc-line);padding:20px 22px 22px;background:var(--jc-surface);color:var(--jc-ink)}.learning-refresh .student-ranking-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.learning-refresh .student-ranking-heading h4{margin:0;color:var(--jc-ink);font-size:17px;line-height:1.4}.learning-refresh .student-ranking-heading p{margin:4px 0 0;color:var(--jc-muted);font-size:12px}.learning-refresh .student-ranking-refresh,.learning-refresh .student-ranking-more{border:1px solid var(--jc-line-strong);border-radius:8px;padding:7px 12px;background:var(--jc-surface);color:var(--jc-primary);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.learning-refresh .student-ranking-refresh:hover:not(:disabled),.learning-refresh .student-ranking-more:hover{border-color:var(--jc-primary);background:var(--jc-surface-hover)}.learning-refresh .student-ranking-refresh:disabled{opacity:.6;cursor:wait}.learning-refresh .student-ranking-my-result{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-top:16px;border:1px solid color-mix(in srgb,var(--jc-primary) 28%,var(--jc-line));border-radius:10px;padding:11px 14px;background:var(--jc-primary-soft)}.learning-refresh .student-ranking-my-result>span{color:var(--jc-primary);font-size:12px;font-weight:750}.learning-refresh .student-ranking-my-result strong{color:var(--jc-ink);font-size:17px}.learning-refresh .student-ranking-my-result b{color:var(--jc-primary);font-size:16px}.learning-refresh .student-ranking-my-result small{color:var(--jc-muted);font-size:12px}.learning-refresh .student-ranking-rule{margin:15px 0 11px;color:var(--jc-muted);font-size:12px;line-height:1.6}.learning-refresh .student-ranking-error{margin:0 0 12px;color:#b42318;font-size:12px}.learning-refresh .student-ranking-scroll{overflow-x:auto;border:1px solid var(--jc-line);border-radius:10px}.learning-refresh .student-ranking-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.learning-refresh .student-ranking-table th{padding:10px 12px;background:var(--jc-surface-soft);color:var(--jc-muted);font-size:11px;font-weight:750;text-align:left}.learning-refresh .student-ranking-table th:first-child{width:78px}.learning-refresh .student-ranking-table th:nth-child(3){width:105px}.learning-refresh .student-ranking-table th:nth-child(4){width:115px}.learning-refresh .student-ranking-table th:nth-child(5){width:180px}.learning-refresh .student-ranking-table th:nth-child(n+3){text-align:right}.learning-refresh .student-ranking-table td{border-top:1px solid var(--jc-line);padding:10px 12px;background:var(--jc-surface);vertical-align:middle}.learning-refresh .student-ranking-table tbody tr:hover td{background:var(--jc-surface-hover)}.learning-refresh .student-ranking-table tbody tr.rank-top-1 td{background:color-mix(in srgb,var(--jc-surface) 88%,#e9c45a)}.learning-refresh .student-ranking-table tbody tr.rank-top-2 td{background:color-mix(in srgb,var(--jc-surface) 89%,#bac8d7)}.learning-refresh .student-ranking-table tbody tr.rank-top-3 td{background:color-mix(in srgb,var(--jc-surface) 90%,#c99066)}.learning-refresh .student-ranking-table tbody tr.is-current-user td{background:var(--jc-primary-soft)}.learning-refresh .student-ranking-position{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:32px;min-height:27px;border-radius:7px;color:var(--jc-muted);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.learning-refresh .student-ranking-trophy{width:15px;height:15px;flex:none;stroke-width:2.2}.learning-refresh .rank-top-1 .student-ranking-position,.learning-refresh .rank-top-2 .student-ranking-position,.learning-refresh .rank-top-3 .student-ranking-position{min-width:48px}.learning-refresh .rank-top-1 .student-ranking-position{background:#f5df9e;color:#795509}.learning-refresh .rank-top-2 .student-ranking-position{background:#dfe6ec;color:#536270}.learning-refresh .rank-top-3 .student-ranking-position{background:#f0d3bd;color:#80512f}.learning-refresh .student-ranking-name{overflow-wrap:anywhere;font-weight:650}.learning-refresh .student-ranking-me{margin-left:7px;border-radius:5px;padding:2px 5px;background:var(--jc-primary);color:#fff;font-size:10px;font-weight:750;white-space:nowrap}.learning-refresh .student-ranking-score,.learning-refresh .student-ranking-ac,.learning-refresh .student-ranking-time{text-align:right;font-variant-numeric:tabular-nums}.learning-refresh .student-ranking-score strong{color:var(--jc-ink);font-size:15px}.learning-refresh .student-ranking-score span,.learning-refresh .student-ranking-ac,.learning-refresh .student-ranking-time{color:var(--jc-muted)}.learning-refresh .student-ranking-more{display:block;margin:13px auto 0}.learning-refresh .student-ranking-notice,.learning-refresh .student-ranking-empty{margin:0;padding:18px 10px;color:var(--jc-muted);font-size:13px;text-align:center}.student-portal-shell.learning-refresh .learning-empty{display:flex;grid-column:1 / -1;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:210px;border:0;border-radius:14px;padding:28px;background:var(--jc-surface);color:var(--jc-muted);text-align:center}.learning-refresh .learning-empty p{margin:0;font-size:14px;line-height:1.6}.student-portal-shell.learning-refresh .learning-empty.compact{min-height:82px;padding:22px;background:color-mix(in srgb,var(--jc-surface) 65%,transparent)}.learning-refresh .student-level-identity{display:flex;align-items:center;gap:15px}.learning-refresh .student-level-identity>div{min-width:0}.learning-refresh .student-level-identity h3{font-size:22px;line-height:1.45}.learning-refresh .student-level-identity .learning-level-badge{flex:0 0 auto}.student-portal-shell.learning-refresh .student-growth-overview{border-radius:14px;box-shadow:0 3px 18px #172d3f08}.learning-refresh .student-growth-heading{align-items:center}.learning-refresh .student-level-summary{padding:22px}.learning-refresh .student-xp-progress{margin-top:16px}@container student-problem-list (min-width: 840px) and (max-width: 1079px){.student-portal-shell.learning-refresh .student-problem-card{grid-template-columns:54px minmax(0,1fr) minmax(128px,170px) 100px;gap:10px;min-height:90px;padding:14px 16px}.student-portal-shell.learning-refresh .student-problem-card>.student-problem-action{min-width:92px;padding-inline:10px}}@container student-problem-list (max-width: 839px){.student-portal-shell.learning-refresh .student-problem-card{grid-template-columns:56px minmax(0,1fr) 102px;gap:6px 12px}.student-portal-shell.learning-refresh .student-card-tags{grid-column:2;grid-row:2}.student-portal-shell.learning-refresh .student-problem-card>.student-problem-action{grid-column:3;grid-row:1 / 3}.learning-refresh .student-problem-state{grid-column:1;grid-row:1 / 3}.learning-refresh .student-problem-main{grid-column:2;grid-row:1}}@container student-problem-list (max-width: 619px){.student-portal-shell.learning-refresh .student-problem-card{grid-template-columns:50px minmax(0,1fr) 96px;gap:6px 9px;padding:14px}.learning-refresh .student-problem-title-line{gap:7px}.learning-refresh .student-problem-title-line>a{font-size:17px}.student-portal-shell.learning-refresh .student-card-tags{gap:4px}.student-portal-shell.learning-refresh .student-problem-card>.student-problem-action{min-width:88px;padding-inline:8px}}@container student-problem-list (max-width: 559px){.student-portal-shell.learning-refresh .student-problem-card{grid-template-columns:minmax(0,1fr) 100px;gap:10px;padding:16px 14px}.learning-refresh .student-problem-state{grid-column:1;grid-row:2}.learning-refresh .student-problem-main{grid-column:1 / -1;grid-row:1}.student-portal-shell.learning-refresh .student-card-tags{grid-column:1 / -1;grid-row:3}.student-portal-shell.learning-refresh .student-problem-card>.student-problem-action{grid-column:2;grid-row:2}.learning-refresh .student-problem-title-line{align-items:start;flex-direction:column;gap:3px}.learning-refresh .student-problem-title-line>a{max-width:100%;font-size:17px;white-space:normal;overflow-wrap:anywhere}.learning-refresh .student-problem-title-line>span{font-size:11px}}@media(max-width:1080px){.student-portal-shell.learning-refresh .student-task-list{grid-template-columns:minmax(0,1fr)}.learning-refresh .student-level-identity{gap:9px}.learning-refresh .student-level-identity .learning-level-badge{width:62px;height:68px}.learning-refresh .student-level-identity h3{font-size:18px}}@media(max-width:820px){.student-portal-shell.learning-refresh,.student-portal-shell.learning-refresh.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.learning-refresh .student-side-nav{min-width:0}.student-portal-shell.learning-refresh .student-page{padding:16px 14px 28px;gap:14px}.learning-refresh .student-side-nav nav{gap:5px;padding:7px}.learning-refresh .student-side-nav nav button,.learning-refresh .student-side-nav.collapsed nav button{display:flex;align-items:center;gap:6px;min-height:40px;padding:7px 10px;font-size:13px}.learning-refresh .student-side-nav .student-side-icon{width:24px;height:24px;flex:0 0 auto}.student-portal-shell.learning-refresh .learning-page-heading{min-height:80px;gap:12px}.learning-refresh .learning-page-heading h2{font-size:25px}.learning-refresh .learning-brand-art{width:80px;height:80px}.learning-refresh .learning-page-heading>.learning-heading-aside{gap:10px}}@media(max-width:560px){.student-portal-shell.learning-refresh .student-bank-filters{gap:10px;padding:13px}.learning-refresh .learning-heading-aside .learning-brand-art,.learning-refresh .learning-heading-aside .learning-heading-icon{display:none}.learning-refresh .learning-heading-count{font-size:12px}.student-portal-shell.learning-refresh .student-task-row{grid-template-columns:38px minmax(0,1fr);gap:15px 10px;padding:18px 15px}.learning-refresh .student-task-emblem{width:38px;height:44px}.learning-refresh .student-task-emblem svg{width:36px;height:36px}.learning-refresh .student-task-title-button{font-size:18px}.learning-refresh .student-task-progress{width:115px}.learning-refresh .student-level-summary{padding:18px 15px}.learning-refresh .student-level-identity{gap:10px}.learning-refresh .student-growth-heading>strong{font-size:16px}}@media(max-width:620px){.student-portal-shell.learning-refresh .student-contest-tabs{padding:8px 12px}.student-portal-shell.learning-refresh .student-ranking{padding:16px 12px 18px}.learning-refresh .student-ranking-heading{align-items:center}.learning-refresh .student-ranking-heading h4{font-size:16px}.learning-refresh .student-ranking-refresh{flex:0 0 auto;padding-inline:9px}.learning-refresh .student-ranking-my-result{gap:4px 11px;padding:10px}.learning-refresh .student-ranking-scroll{overflow:visible}.learning-refresh .student-ranking-table,.learning-refresh .student-ranking-table tbody{display:block;width:100%}.learning-refresh .student-ranking-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.learning-refresh .student-ranking-table tbody tr{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:5px 8px;align-items:center;border-top:1px solid var(--jc-line);padding:10px;background:var(--jc-surface)}.learning-refresh .student-ranking-table tbody tr:first-child{border-top:0}.learning-refresh .student-ranking-table tbody tr.rank-top-1{background:color-mix(in srgb,var(--jc-surface) 88%,#e9c45a)}.learning-refresh .student-ranking-table tbody tr.rank-top-2{background:color-mix(in srgb,var(--jc-surface) 89%,#bac8d7)}.learning-refresh .student-ranking-table tbody tr.rank-top-3{background:color-mix(in srgb,var(--jc-surface) 90%,#c99066)}.learning-refresh .student-ranking-table tbody tr.is-current-user{background:var(--jc-primary-soft)}.learning-refresh .student-ranking-table td,.learning-refresh .student-ranking-table tbody tr.rank-top-1 td,.learning-refresh .student-ranking-table tbody tr.rank-top-2 td,.learning-refresh .student-ranking-table tbody tr.rank-top-3 td,.learning-refresh .student-ranking-table tbody tr.is-current-user td{border:0;padding:0;background:transparent}.learning-refresh .student-ranking-table .student-ranking-place{grid-column:1;grid-row:1 / 3;align-self:start}.learning-refresh .student-ranking-table .student-ranking-name{grid-column:2;grid-row:1;min-width:0}.learning-refresh .student-ranking-table .student-ranking-score{grid-column:3;grid-row:1;white-space:nowrap}.learning-refresh .student-ranking-table .student-ranking-ac{grid-column:2;grid-row:2;text-align:left}.learning-refresh .student-ranking-table .student-ranking-time{grid-column:3;grid-row:2;font-size:11px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.learning-refresh .student-side-nav nav button,.learning-refresh .student-problem-card{transition:none}}.learning-refresh .student-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-refresh .student-metric-grid>:is(article,button){display:grid;gap:6px;min-width:0;min-height:104px;border:1px solid var(--jc-line);border-radius:12px;padding:16px 18px;background:var(--jc-surface);color:var(--jc-ink);font:inherit;text-align:left}.learning-refresh .student-metric-grid>button{cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.learning-refresh .student-metric-grid>button:hover{border-color:var(--jc-primary);background:var(--jc-surface-hover);box-shadow:0 5px 16px rgb(var(--jc-theme-primary-rgb, 8 127 120) / .11);transform:translateY(-1px)}.learning-refresh .student-metric-grid>button:focus-visible,.learning-refresh .learning-ranking-back:focus-visible,.learning-refresh .learning-ranking-summary button:focus-visible{outline:0;box-shadow:var(--jc-focus-ring)}.learning-refresh .student-metric-grid>:is(article,button) span,.learning-refresh .student-metric-grid>:is(article,button) p{color:var(--jc-muted);font-size:12px}.learning-refresh .student-metric-grid>:is(article,button) strong{color:var(--jc-ink);font-size:26px}.learning-refresh .student-metric-ranking strong,.learning-refresh .student-metric-ranking p{color:var(--jc-primary)}.student-portal-shell.learning-refresh .learning-ranking-page{gap:14px}.learning-refresh .learning-ranking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--jc-line-strong);padding-bottom:14px}.learning-refresh .learning-ranking-heading>div{min-width:0}.learning-refresh .learning-ranking-heading .learning-page-heading{min-height:0;border:0;padding:12px 0 0}.learning-refresh .learning-ranking-heading .learning-heading-copy{display:block}.learning-refresh .learning-ranking-heading .learning-page-heading h2{font-size:25px}.learning-refresh .learning-ranking-heading>div>p,.learning-refresh .learning-ranking-heading>span{margin:5px 0 0;color:var(--jc-muted);font-size:12px}.learning-refresh .learning-ranking-heading>span{flex:0 0 auto;padding-top:42px}.learning-refresh .learning-ranking-back,.learning-refresh .learning-ranking-summary button{min-height:36px;border:1px solid var(--jc-line-strong);border-radius:8px;padding:0 12px;background:var(--jc-surface);color:var(--jc-primary);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.learning-refresh .learning-ranking-back:hover,.learning-refresh .learning-ranking-summary button:hover:not(:disabled){border-color:var(--jc-primary);background:var(--jc-primary-soft)}.learning-refresh .learning-ranking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;overflow:hidden;border:1px solid var(--jc-line);border-radius:12px;background:var(--jc-surface)}.learning-refresh .learning-ranking-summary>div{display:grid;gap:5px;min-width:0;padding:15px 18px}.learning-refresh .learning-ranking-summary>div+div{border-left:1px solid var(--jc-line)}.learning-refresh .learning-ranking-summary span{color:var(--jc-muted);font-size:11px;font-weight:700}.learning-refresh .learning-ranking-summary strong{color:var(--jc-ink);font-size:20px}.learning-refresh .learning-ranking-summary button{align-self:center;margin:0 16px}.learning-refresh .learning-ranking-summary button:disabled{opacity:.5;cursor:default}.learning-refresh .learning-ranking-rule{display:flex;align-items:center;gap:10px 14px;border-left:3px solid var(--jc-primary);padding:4px 0 4px 10px}.learning-refresh .learning-ranking-rule-tags{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px}.learning-refresh .learning-ranking-rule-tags span{border:1px solid var(--jc-line-strong);border-radius:999px;padding:3px 8px;background:var(--jc-surface);color:var(--jc-primary);font-size:11px;font-weight:750;line-height:1.2}.learning-refresh .learning-ranking-rule p{margin:0;color:var(--jc-muted);font-size:12px;line-height:1.55}.learning-refresh .learning-ranking-table{position:relative;width:min(100%,1280px);margin-inline:auto;overflow:clip;border-radius:12px;background:var(--jc-surface)}.learning-refresh .learning-ranking-table table{table-layout:fixed}.learning-refresh .learning-ranking-table .learning-ranking-rank-column{width:8%}.learning-refresh .learning-ranking-table .learning-ranking-learner-column{width:44%}.learning-refresh .learning-ranking-table .learning-ranking-total-column,.learning-refresh .learning-ranking-table .learning-ranking-week-column{width:24%}.learning-refresh .learning-ranking-table.is-refreshing:after{position:absolute;inset:0;content:"";background:#ffffff7a;pointer-events:none}.learning-refresh .learning-ranking-table th{position:sticky;top:var(--workspace-header-height, 52px);z-index:3}.learning-refresh .learning-ranking-table th:nth-child(n+3),.learning-refresh .learning-ranking-table td:nth-child(n+3){text-align:right}.learning-refresh .learning-ranking-table tbody tr.is-current{background:var(--jc-primary-soft)}.learning-refresh .learning-ranking-table tbody tr.is-top-1{background:color-mix(in srgb,var(--jc-surface) 90%,#f0c64b)}.learning-refresh .learning-ranking-table tbody tr.is-top-2{background:color-mix(in srgb,var(--jc-surface) 91%,#9eb2c3)}.learning-refresh .learning-ranking-table tbody tr.is-top-3{background:color-mix(in srgb,var(--jc-surface) 92%,#c98150)}.learning-refresh .learning-ranking-table tbody tr.is-current{box-shadow:inset 3px 0 0 var(--jc-primary)}.learning-refresh .learning-ranking-place>span{display:inline-flex;align-items:center;gap:7px;min-width:42px;min-height:29px;border:1px solid transparent;border-radius:8px;padding:0 8px;color:var(--jc-muted);font-weight:850;font-variant-numeric:tabular-nums}.learning-refresh .learning-ranking-place svg{width:17px;height:17px}.learning-refresh tr.is-top-1 .learning-ranking-place>span{border-color:#e2bd4c;background:#fff3c7;color:#7f5b00}.learning-refresh tr.is-top-2 .learning-ranking-place>span{border-color:#b4c2ce;background:#edf2f6;color:#52697c}.learning-refresh tr.is-top-3 .learning-ranking-place>span{border-color:#d7a47f;background:#f8e4d5;color:#824b28}.learning-refresh tr.is-top-1 .learning-ranking-place svg{color:#b78609;fill:#f3cf62}.learning-refresh tr.is-top-2 .learning-ranking-place svg{color:#60778b;fill:#cdd8e1}.learning-refresh tr.is-top-3 .learning-ranking-place svg{color:#92552e;fill:#deb18d}.learning-refresh .learning-ranking-table td:nth-child(2) small{margin-left:7px;border-radius:5px;padding:2px 6px;background:var(--jc-primary);color:#fff;font-size:10px;font-weight:750}.learning-refresh .learning-ranking-total b{color:var(--jc-ink);font-size:17px;font-variant-numeric:tabular-nums}.learning-refresh .learning-ranking-total>span{margin-left:4px;color:var(--jc-muted);font-size:11px}.learning-refresh .learning-ranking-week-gain{display:inline-flex;align-items:center;min-height:26px;border:1px solid color-mix(in srgb,var(--jc-primary) 32%,transparent);border-radius:999px;padding:0 9px;background:var(--jc-primary-soft);color:var(--jc-primary);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.learning-refresh .learning-ranking-week-zero{color:color-mix(in srgb,var(--jc-muted) 58%,transparent);font-weight:700}.learning-refresh .learning-ranking-error{margin:0}@media(max-width:700px){.learning-refresh .student-metric-grid{grid-template-columns:1fr}.learning-refresh .student-metric-grid>:is(article,button){min-height:88px}.learning-refresh .learning-ranking-heading{display:block}.learning-refresh .learning-ranking-heading>span{display:block;padding-top:0}.learning-refresh .learning-ranking-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-refresh .learning-ranking-summary>div{padding:12px 10px}.learning-refresh .learning-ranking-summary strong{font-size:16px}.learning-refresh .learning-ranking-summary button{grid-column:1 / -1;margin:0 10px 10px}.learning-refresh .learning-ranking-rule{display:grid;gap:7px}.learning-refresh .learning-ranking-table,.learning-refresh .learning-ranking-table table,.learning-refresh .learning-ranking-table tbody{display:block;width:100%}.learning-refresh .learning-ranking-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.learning-refresh .learning-ranking-table tbody tr{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:6px 10px;align-items:center;border-bottom:1px solid var(--jc-line);padding:12px}.learning-refresh .learning-ranking-table tbody td{width:auto;border:0;padding:0;background:transparent}.learning-refresh .learning-ranking-table colgroup{display:none}.learning-refresh .learning-ranking-table tbody td:first-child{grid-row:1 / 3;width:auto}.learning-refresh .learning-ranking-table tbody td:nth-child(2){grid-column:2 / 4}.learning-refresh .learning-ranking-table tbody td:nth-child(3){grid-column:2;width:auto;text-align:left}.learning-refresh .learning-ranking-table tbody td:nth-child(4){grid-column:3;width:auto;text-align:right}.learning-refresh .learning-ranking-week-gain{min-height:24px;padding-inline:8px;font-size:11px}.learning-refresh .learning-ranking-table .student-table-empty{display:block;text-align:center}}.problem-workspace .historical-readonly-notice{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--jc-line-strong, #c9d5e3);border-radius:999px;padding:3px 10px;color:var(--jc-muted, #677489);background:var(--jc-surface-soft, #f7f9fc);font-size:12px;font-weight:700;white-space:nowrap}@media(min-width:960px){.problem-workspace .editor-panel,.problem-workspace .result-panel{overflow:clip}.problem-workspace :is(.problem-action-head,.problem-result-head){position:sticky;top:var(--workspace-header-height, 52px);z-index:18;background:var(--jc-surface-soft, #f7f9fc);box-shadow:0 5px 12px #1f344917}}@media(max-width:959px){.problem-workspace .historical-readonly-notice{display:none}.problem-workspace{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.problem-workspace .problem-action-row{position:fixed;z-index:45;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(720px,100%);margin:0 auto;border:1px solid var(--jc-line-strong, #c9d5e3);border-bottom:0;border-radius:10px 10px 0 0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--jc-surface, #fff) 96%,transparent);box-shadow:0 -6px 20px #1f344924;backdrop-filter:blur(10px)}.problem-workspace .problem-action-row>button{min-width:0;min-height:40px;padding-inline:6px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.problem-workspace .problem-action-row .problem-action-secondary{color:var(--jc-muted, #677489);background:var(--jc-surface-soft, #f7f9fc)}.problem-workspace+.ai-help-button{right:14px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:44}}@media(max-width:420px){.problem-workspace .problem-action-row{gap:4px;padding-inline:6px}.problem-workspace .problem-action-row>button{min-height:38px;padding-inline:4px;font-size:12px}.problem-workspace .problem-action-row .action-mark{display:none}}@media(min-width:1001px){.creation-studio-compact .creation-head-compact{position:sticky;top:var(--workspace-header-height, 52px);z-index:20;background:var(--jc-surface, #fff);box-shadow:0 5px 12px #1f344917}}@media(max-width:1000px){.creation-studio-compact{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.creation-studio-compact .creation-actions{justify-content:flex-start}.creation-studio-compact .creation-actions-primary{position:fixed;z-index:45;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(720px,100%);margin:0 auto;border:1px solid var(--jc-line-strong, #c9d5e3);border-bottom:0;border-radius:10px 10px 0 0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--jc-surface, #fff) 96%,transparent);box-shadow:0 -6px 20px #1f344924;backdrop-filter:blur(10px)}.creation-studio-compact .creation-actions-primary>button{min-width:0;min-height:40px;padding-inline:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(min-width:821px)and (max-width:1000px){.student-portal-shell.sidebar-expanded .creation-studio-compact .creation-actions-primary{left:178px;width:min(720px,calc(100% - 178px))}.student-portal-shell.sidebar-collapsed .creation-studio-compact .creation-actions-primary{left:58px;width:min(720px,calc(100% - 58px))}}@media(max-width:420px){.creation-studio-compact .creation-actions-primary{gap:4px;padding-inline:6px}.creation-studio-compact .creation-actions-primary>button{min-height:38px;padding-inline:6px;font-size:12px}}@media(prefers-reduced-transparency:reduce){.problem-workspace .problem-action-row,.creation-studio-compact .creation-actions-primary{background:var(--jc-surface, #fff);backdrop-filter:none}}.account-avatar{display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--jc-line-strong, #c8d4df) 84%,transparent);border-radius:50%;background:color-mix(in srgb,var(--jc-surface, #fff) 88%,var(--jc-primary-soft, #edf7f6));box-shadow:0 1px 4px #18314b1a}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar-tiny{width:30px;height:30px}.account-avatar-small{width:34px;height:34px}.account-avatar-medium{width:58px;height:58px}.account-avatar-large{width:72px;height:72px}.account-avatar.is-unavailable{filter:saturate(.35)}.workspace-nav>.workspace-session{align-items:center}.workspace-session .session-avatar-button{display:inline-grid;flex:0 0 40px;place-items:center;width:40px;height:40px;min-height:40px;border:0;padding:0;border-radius:50%;background:transparent;box-shadow:none}.session-avatar-button .account-avatar-small{width:32px;height:32px}.workspace-session .session-avatar-button:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}.session-avatar-button:hover .account-avatar,.session-avatar-button:focus-visible .account-avatar{border-color:var(--jc-primary);box-shadow:0 0 0 3px var(--jc-primary-soft)}.session-avatar-button:focus-visible{outline:0}.avatar-dialog-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:#101f2f7a;backdrop-filter:blur(3px)}.avatar-dialog{position:relative;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);width:min(840px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:hidden;border:1px solid var(--jc-line);border-radius:14px;background:var(--jc-surface);box-shadow:0 24px 70px #101f2f47;color:var(--jc-ink)}.avatar-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--jc-line);padding:20px 22px}.avatar-dialog>header span{color:var(--jc-primary);font-size:11px;font-weight:800;letter-spacing:.08em}.avatar-dialog>header h2{margin:3px 0 4px;font-size:23px}.avatar-dialog>header p{margin:0;color:var(--jc-muted);font-size:13px}.avatar-dialog button{border:1px solid var(--jc-line-strong);border-radius:8px;color:var(--jc-ink);background:var(--jc-surface);font-weight:700}.avatar-dialog>header>button{min-height:36px;padding-inline:14px}.avatar-dialog-current{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:16px 22px 4px;border:1px solid var(--jc-line);border-radius:10px;padding:12px 14px;background:var(--jc-primary-soft)}.avatar-dialog-current>div{display:grid;gap:2px;min-width:0}.avatar-dialog-current>div span,.avatar-dialog-current small{color:var(--jc-muted);font-size:11px}.avatar-dialog-current>div strong{font-size:16px}.avatar-dialog-current>button{min-height:36px;padding-inline:12px}.avatar-dialog-error{margin:10px 22px 0;border:1px solid #efb3ae;border-radius:7px;padding:9px 11px;color:#9f241c;background:#fff0ef;font-size:12px}.avatar-dialog-scroll{overflow:auto;padding:8px 22px 22px}.avatar-picker-group h3{display:flex;align-items:center;gap:7px;margin:14px 0 9px;font-size:14px}.avatar-picker-group h3 span{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:999px;color:var(--jc-primary);background:var(--jc-primary-soft);font-size:10px}.avatar-picker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.avatar-picker-grid>button{position:relative;display:grid;justify-items:center;gap:6px;min-width:0;min-height:106px;padding:10px 5px 8px}.avatar-picker-grid>button:hover:not(:disabled){border-color:var(--jc-primary);background:var(--jc-primary-soft)}.avatar-picker-grid>button.is-selected{border-color:var(--jc-primary);box-shadow:inset 0 0 0 2px var(--jc-primary);background:var(--jc-primary-soft)}.avatar-picker-grid>button>.avatar-picker-name{overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.avatar-dialog .account-avatar{aspect-ratio:1;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-self:center;justify-self:center}.avatar-dialog .account-avatar img{display:block;min-width:0;min-height:0;object-fit:contain}.avatar-picker-grid>button>small{position:absolute;right:4px;top:4px;border-radius:999px;padding:2px 5px;color:#fff;background:var(--jc-primary);font-size:9px}.avatar-picker-grid>button.is-locked{background:color-mix(in srgb,var(--jc-surface) 84%,#f5eadb)}.avatar-picker-grid>button.is-locked .account-avatar{filter:saturate(.72)}.avatar-picker-access{min-height:17px;border-radius:999px;padding:2px 6px;color:#557086;background:#edf2f6;font-size:9px;font-weight:800}.avatar-picker-access.is-owned{color:#087158;background:#def7ed}.avatar-picker-access.is-price{color:#94510f;background:#fff1d7}.avatar-redeem-backdrop{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:18px;background:#101f2f7a;backdrop-filter:blur(3px)}.avatar-redeem-dialog{display:grid;justify-items:center;width:min(390px,100%);border:1px solid var(--jc-line);border-radius:14px;padding:23px;background:var(--jc-surface);box-shadow:0 24px 60px #101f2f47;text-align:center}.avatar-redeem-dialog>span{margin-top:12px;color:var(--jc-primary);font-size:10px;font-weight:800}.avatar-redeem-dialog h3{margin:4px 0 7px;font-size:20px}.avatar-redeem-dialog p{margin:0;color:var(--jc-muted);font-size:12px;line-height:1.6}.avatar-redeem-dialog p strong{color:#a64d12}.avatar-redeem-dialog>small{margin-top:7px;color:#a52b22}.avatar-redeem-dialog>div{display:flex;gap:8px;width:100%;margin-top:17px}.avatar-redeem-dialog>div button{flex:1 1 0;min-height:38px}.avatar-redeem-dialog>div button.primary{border-color:var(--jc-primary);color:#fff;background:var(--jc-primary)}.ranking-learner-with-avatar{display:flex;align-items:center;gap:9px;min-width:0}.ranking-learner-with-avatar>span:last-child{min-width:0}.student-level-avatar{margin-right:2px}.platform-library-tabs{display:inline-flex;gap:4px;margin:0 0 10px;border:1px solid #d8e3eb;border-radius:9px;padding:4px;background:#fff}.platform-library-tabs button{min-height:34px;border:0;border-radius:6px;padding:0 16px;color:#557086;background:transparent;font-weight:700}.platform-library-tabs button.active{color:#fff;background:#087f79}.avatar-admin-panel{overflow:visible}.avatar-admin-summary{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #e3ebf1;padding:11px 14px;background:#f8fafc}.avatar-admin-summary span{border-radius:999px;padding:5px 9px;color:#5c7186;background:#fff;font-size:11px}.avatar-admin-summary b{color:#17324d}.avatar-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.avatar-admin-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;border:1px solid #d8e3eb;border-radius:9px;padding:12px;background:#fff}.avatar-admin-grid article.is-offline{background:#f5f7f9;opacity:.78}.avatar-admin-card-copy{display:grid;gap:3px;min-width:0}.avatar-admin-card-copy strong,.avatar-admin-card-copy span,.avatar-admin-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-admin-card-copy strong{color:#17324d;font-size:14px}.avatar-admin-card-copy span,.avatar-admin-card-copy small{color:#71849a;font-size:10px}.avatar-admin-flags{grid-column:1 / -1;display:flex;gap:6px}.avatar-admin-flags span{border-radius:999px;padding:3px 7px;color:#6b5b12;background:#fff4c9;font-size:9px;font-weight:800}.avatar-admin-flags span.is-enabled{color:#087158;background:#def7ed}.avatar-admin-grid .platform-row-actions{grid-column:1 / -1;justify-content:flex-start}.avatar-admin-deleted{margin:0 14px 14px;border:1px solid #d8e3eb;border-radius:8px;padding:10px 12px;background:#f8fafc}.avatar-admin-deleted summary{cursor:pointer;color:#5c7186;font-size:11px;font-weight:700}.avatar-admin-deleted ul{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.avatar-admin-deleted li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;color:#71849a;font-size:11px}.avatar-upload-body{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start}.avatar-upload-preview{display:grid;place-items:center;overflow:hidden;width:180px;aspect-ratio:1;border:1px dashed #b8c8d6;border-radius:50%;color:#71849a;background:#f5f8fa;font-size:11px}.avatar-upload-preview img{width:100%;height:100%;object-fit:cover}.avatar-default-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding-top:22px}.avatar-default-checkbox input{width:17px!important;height:17px}@media(max-width:720px){.avatar-dialog-backdrop{padding:8px}.avatar-dialog{max-height:calc(100dvh - 16px);border-radius:10px}.avatar-dialog>header,.avatar-dialog-scroll{padding-inline:14px}.avatar-dialog-current{grid-template-columns:auto minmax(0,1fr);margin-inline:14px}.avatar-dialog-current>button{grid-column:1 / -1}.avatar-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-picker-grid>button{min-height:96px}.account-avatar-medium{width:50px;height:50px}.avatar-admin-grid,.avatar-upload-body{grid-template-columns:1fr}.avatar-upload-preview{width:130px;margin:0 auto}}@media(min-width:721px)and (max-width:1240px){.avatar-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-rewards-page{display:grid;align-content:start;gap:16px}.student-rewards-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--jc-primary) 18%,var(--jc-line));border-radius:16px;padding:22px 26px;background:linear-gradient(135deg,var(--jc-surface) 58%,var(--jc-primary-soft));box-shadow:var(--jc-shadow-xs)}.student-rewards-heading-copy{min-width:0}.student-rewards-heading-kicker{display:flex;align-items:center;flex-wrap:wrap;column-gap:14px;row-gap:9px}.student-rewards-heading-kicker>span{color:var(--jc-primary);font-size:12px;font-weight:800;letter-spacing:.06em}.student-rewards-heading h2{margin:4px 0 5px;color:var(--jc-ink);font-size:28px}.student-rewards-heading p{margin:0;color:var(--jc-muted);font-size:13px}.student-points-balance{display:flex;align-items:baseline;gap:7px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--jc-primary) 18%,transparent);border-radius:14px;padding:13px 19px;background:color-mix(in srgb,var(--jc-surface) 72%,var(--jc-primary-soft));color:var(--jc-primary);box-shadow:0 7px 22px #0f8a8014}.student-points-balance>span{margin-right:5px;color:var(--jc-muted);font-size:11px;font-weight:700}.student-points-balance strong{font-size:28px;line-height:1}.student-points-balance small{font-weight:800}.student-rewards-message{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #9dd9ca;border-radius:10px;padding:11px 14px;color:#076c58;background:#edfbf6;font-size:12px}.student-rewards-message.is-error{border-color:#efb3ae;color:#9f241c;background:#fff0ef}.student-rewards-message button{min-height:30px;padding:0 11px}.reward-category-tabs{display:flex;gap:7px;overflow-x:auto;border:1px solid var(--jc-line);border-radius:12px;padding:7px;background:var(--jc-surface);scrollbar-width:thin}.reward-category-tabs button{flex:0 0 auto;min-height:36px;border-color:transparent;border-radius:8px;padding-inline:15px;color:var(--jc-muted);background:transparent}.reward-category-tabs button.active{color:#fff;background:var(--jc-primary);box-shadow:0 4px 12px #0f8a802e}.reward-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-item-grid>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;border:1px solid var(--jc-line);border-radius:13px;padding:15px;background:var(--jc-surface);box-shadow:var(--jc-shadow-xs)}.reward-item-grid>article.is-owned{border-color:color-mix(in srgb,var(--jc-primary) 34%,var(--jc-line));background:linear-gradient(145deg,var(--jc-surface),color-mix(in srgb,var(--jc-primary-soft) 34%,var(--jc-surface)))}.reward-item-grid>article.is-insufficient,.reward-item-grid>article.is-unavailable{border-color:color-mix(in srgb,var(--jc-muted) 22%,var(--jc-line))}.reward-item-preview{display:grid;place-items:center;overflow:hidden;width:78px;height:78px;border-radius:12px;background:var(--jc-primary-soft)}.reward-item-preview>img{width:100%;height:100%;object-fit:contain}.reward-item-placeholder{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:var(--jc-primary);background:var(--jc-surface);font-size:23px;font-weight:900}.reward-item-copy{min-width:0}.reward-item-copy>span{color:var(--jc-primary);font-size:10px;font-weight:800}.reward-item-copy h3{overflow:hidden;margin:3px 0 5px;color:var(--jc-ink);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.reward-item-copy p{display:-webkit-box;overflow:hidden;margin:0;color:var(--jc-muted);font-size:11px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reward-item-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--jc-line);padding-top:11px}.reward-item-actions>strong{color:#a64d12;font-size:14px}.reward-item-owned-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.reward-item-status{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:800;white-space:nowrap}.reward-item-status.is-owned{border:1px solid #a7dfce;color:#087158;background:#edf9f4}.reward-item-status.is-current{border:1px solid var(--jc-primary);color:#fff;background:linear-gradient(135deg,var(--jc-primary),var(--jc-primary-hover));box-shadow:0 6px 14px color-mix(in srgb,var(--jc-primary) 20%,transparent)}.reward-item-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:82px;min-height:38px;border:1px solid transparent;border-radius:10px;padding:0 15px;font:inherit;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.reward-item-action.is-redeemable{border-color:var(--jc-primary);color:#fff;background:linear-gradient(135deg,var(--jc-primary),var(--jc-primary-hover));box-shadow:0 7px 16px color-mix(in srgb,var(--jc-primary) 21%,transparent)}.reward-item-action.is-use{border-color:color-mix(in srgb,var(--jc-primary) 38%,var(--jc-line));color:var(--jc-primary);background:color-mix(in srgb,var(--jc-primary-soft) 68%,var(--jc-surface))}.reward-item-action.is-remove{border-color:var(--jc-line-strong);color:var(--jc-muted);background:var(--jc-surface)}.reward-item-action.is-remove:not(:disabled):hover{border-color:var(--jc-primary);color:var(--jc-primary);background:var(--jc-primary-soft)}.reward-item-action.is-use:after{content:"\2192";font-size:14px;line-height:1}.reward-item-action.is-redeemable:hover{transform:translateY(-1px);box-shadow:0 9px 20px color-mix(in srgb,var(--jc-primary) 29%,transparent)}.reward-item-action.is-use:hover{border-color:var(--jc-primary);background:var(--jc-primary-soft);transform:translateY(-1px)}.reward-item-action:active:not(:disabled){transform:translateY(0)}.reward-item-action:focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.reward-item-action:disabled{cursor:not-allowed;transform:none;box-shadow:none;opacity:.65}.reward-item-action.is-insufficient,.reward-item-action.is-unavailable{border-color:var(--jc-line);color:var(--jc-muted);background:color-mix(in srgb,var(--jc-muted) 7%,var(--jc-surface));box-shadow:none;cursor:not-allowed;opacity:1}.reward-loading,.reward-empty{display:grid;min-height:180px;place-items:center;margin:0;border:1px dashed var(--jc-line-strong);border-radius:11px;padding:32px 20px;color:var(--jc-muted);background:var(--jc-surface);text-align:center}.reward-transactions-panel{overflow:hidden;border:1px solid var(--jc-line);border-radius:14px;background:var(--jc-surface);box-shadow:var(--jc-shadow-xs)}.reward-transactions-panel>header{border-bottom:1px solid var(--jc-line);padding:17px 20px;background:linear-gradient(90deg,color-mix(in srgb,var(--jc-primary-soft) 62%,var(--jc-surface)),var(--jc-surface))}.reward-transactions-panel h3{margin:0 0 4px;font-size:19px}.reward-transactions-panel p{margin:0;color:var(--jc-muted);font-size:11px}.reward-transactions-body{min-height:180px}.reward-transactions-body>.reward-loading,.reward-transactions-body>.reward-empty{min-height:260px;border:0;border-radius:0}.reward-transaction-list{max-height:min(680px,66vh);overflow:auto;scrollbar-width:thin}.reward-transaction-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;border-bottom:1px solid var(--jc-line);padding:11px 20px}.reward-transaction-list article:last-child{border-bottom:0}.reward-transaction-list article>div{display:grid;gap:4px;min-width:0}.reward-transaction-list article>div:last-child{flex:0 0 auto;justify-items:end}.reward-transaction-list span,.reward-transaction-list small{color:var(--jc-muted);font-size:10px}.reward-transaction-list .is-credit>strong{color:#087158}.reward-transaction-list .is-debit>strong{color:#a64d12}.reward-transaction-list .reward-opening-summary{border-bottom-color:#eadbbd;background:linear-gradient(90deg,#fffaf0,color-mix(in srgb,#fffaf0 50%,var(--jc-surface)))}.reward-opening-summary>div:first-child>strong:before{content:"\8d77";display:inline-grid;width:22px;height:22px;place-items:center;margin-right:8px;border-radius:7px;color:#8b591f;background:#f6e7c7;font-size:10px;vertical-align:middle}.reward-transactions-error{display:grid;justify-items:center;min-height:260px;align-content:center;gap:7px;padding:28px;color:#9f241c;text-align:center}.reward-transactions-error strong{font-size:15px}.reward-transactions-error span{max-width:520px;color:var(--jc-muted);font-size:11px;line-height:1.55}.reward-transactions-error button{min-height:34px;margin-top:6px;border-color:#d77870;color:#9f241c;background:#fff7f6}.reward-transaction-pagination{display:grid;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);align-items:center;gap:12px;border-top:1px solid var(--jc-line);padding:12px 20px;background:color-mix(in srgb,var(--jc-surface) 90%,var(--jc-primary-soft))}.reward-transaction-pagination button{justify-self:start;min-width:92px;min-height:36px;border-radius:9px;color:var(--jc-primary);background:var(--jc-surface);font-weight:700}.reward-transaction-pagination button:last-child{justify-self:end}.reward-transaction-pagination button:not(:disabled):hover{border-color:var(--jc-primary);background:var(--jc-primary-soft)}.reward-transaction-pagination button:disabled{color:color-mix(in srgb,var(--jc-muted) 70%,transparent);background:transparent}.reward-transaction-pagination strong{color:var(--jc-ink);font-size:12px;white-space:nowrap}.reward-confirm-backdrop{position:fixed;z-index:135;inset:0;display:grid;place-items:center;padding:18px;background:#101f2f7a;backdrop-filter:blur(3px)}.reward-confirm-dialog{display:grid;justify-items:center;box-sizing:border-box;width:min(410px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--jc-line);border-radius:18px;padding:26px;background:var(--jc-surface);box-shadow:0 24px 70px #101f2f47;text-align:center}.reward-confirm-dialog>span{margin-top:13px;color:var(--jc-primary);font-size:11px;font-weight:800}.reward-confirm-dialog h3{margin:4px 0 7px;font-size:21px}.reward-confirm-dialog p{margin:0;color:var(--jc-muted);font-size:12px;line-height:1.65}.reward-confirm-dialog p strong{color:#a64d12}.reward-confirm-dialog .reward-confirm-error{width:100%;box-sizing:border-box;margin-top:14px;border:1px solid #edc3bd;border-radius:10px;padding:10px 12px;color:#a52b22;background:#fff6f3;text-align:left}.reward-confirm-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;width:100%;margin-top:22px}.reward-confirm-dialog .reward-dialog-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:42px;border:1px solid transparent;border-radius:11px;padding:10px 16px;font:inherit;font-size:13px;font-weight:800;line-height:1.35;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.reward-confirm-dialog .reward-dialog-button.is-secondary{border-color:color-mix(in srgb,var(--jc-primary) 28%,var(--jc-line));color:var(--jc-primary);background:var(--jc-surface)}.reward-confirm-dialog .reward-dialog-button.is-primary{border-color:var(--jc-primary);color:#fff;background:linear-gradient(135deg,var(--jc-primary),var(--jc-primary-hover));box-shadow:0 6px 14px color-mix(in srgb,var(--jc-primary) 22%,transparent)}.reward-confirm-dialog .reward-dialog-button.is-secondary:not(:disabled):hover{border-color:var(--jc-primary);background:var(--jc-primary-soft)}.reward-confirm-dialog .reward-dialog-button.is-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--jc-primary) 30%,transparent)}.reward-confirm-dialog .reward-dialog-button:focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.reward-confirm-dialog .reward-dialog-button:active:not(:disabled){transform:translateY(0)}.reward-confirm-dialog .reward-dialog-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.reward-dialog-button.is-busy:before{content:"";width:12px;height:12px;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:student-checkin-spin .9s linear infinite}.student-level-rewards{display:grid;grid-template-columns:minmax(160px,1fr);gap:8px;flex:0 0 auto}.student-level-rewards>div{display:grid;justify-items:end;gap:3px;min-width:0;border:1px solid color-mix(in srgb,var(--jc-primary) 14%,var(--jc-line));border-radius:10px;padding:8px 10px;background:color-mix(in srgb,var(--jc-primary-soft) 55%,var(--jc-surface))}.student-level-rewards>div>small{color:var(--jc-muted);font-size:10px;font-weight:700}.student-level-rewards>div>strong{color:var(--jc-ink);font-size:18px;line-height:1.1;white-space:nowrap}.student-level-rewards>div>strong>span{color:inherit;font-size:9px;font-weight:800}.student-level-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--jc-line);padding-top:12px}.student-level-actionbar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:10px;padding:0 13px;font-size:11px;font-weight:750;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.student-level-actionbar button>span{display:inline-grid;width:19px;height:19px;place-items:center;border-radius:6px;font-size:12px;font-weight:900}.student-reward-help{border-color:transparent;padding-left:2px!important;color:var(--jc-muted);background:transparent}.student-reward-help>span{color:var(--jc-primary);background:var(--jc-primary-soft)}.student-reward-help:hover{color:var(--jc-primary);background:var(--jc-primary-soft)}.student-level-reward-actions{display:flex;gap:7px}.student-level-reward-actions .is-ledger{border-color:color-mix(in srgb,var(--jc-primary) 32%,var(--jc-line));color:var(--jc-primary);background:var(--jc-surface)}.student-level-reward-actions .is-ledger>span{background:var(--jc-primary-soft)}.student-level-reward-actions .is-shop{border-color:var(--jc-primary);color:#fff;background:linear-gradient(135deg,var(--jc-primary),var(--jc-primary-hover));box-shadow:0 7px 16px color-mix(in srgb,var(--jc-primary) 20%,transparent)}.student-level-reward-actions .is-shop>span{background:#ffffff29}.student-level-actionbar button:not(:disabled):hover{transform:translateY(-1px)}.student-level-reward-actions .is-ledger:hover{background:var(--jc-primary-soft)}.student-level-reward-actions .is-shop:hover{box-shadow:0 9px 20px color-mix(in srgb,var(--jc-primary) 28%,transparent)}.student-checkin-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.student-checkin-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:38px;border:1px solid var(--jc-primary);border-radius:10px;padding:0 14px;color:#fff;background:linear-gradient(135deg,var(--jc-primary),var(--jc-primary-hover));box-shadow:0 7px 16px color-mix(in srgb,var(--jc-primary) 22%,transparent);font-size:12px;font-weight:800;transition:box-shadow .16s ease,transform .16s ease}.student-checkin-button>span{display:inline-grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#ffffff2b;font-size:13px;font-weight:900}.student-checkin-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 9px 20px color-mix(in srgb,var(--jc-primary) 30%,transparent)}.student-checkin-button:disabled:not(.is-complete){border-color:var(--jc-line);color:var(--jc-muted);background:var(--jc-surface-soft);box-shadow:none}.student-checkin-button.is-complete:disabled{border-color:color-mix(in srgb,var(--jc-primary) 30%,var(--jc-line));color:var(--jc-primary);background:linear-gradient(135deg,var(--jc-surface),var(--jc-primary-soft));box-shadow:inset 0 0 0 1px #ffffffa6;opacity:1}.student-checkin-button.is-complete>span{color:#fff;background:var(--jc-primary)}.student-checkin-button.is-busy>span{animation:student-checkin-spin .9s linear infinite}.student-checkin-feedback{margin:0;color:var(--jc-primary);font-size:11px;line-height:1.45}.student-checkin-feedback.is-error{color:#a52b22}@keyframes student-checkin-spin{to{transform:rotate(360deg)}}.student-checkin-history{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;color:var(--jc-muted);font-size:11px;line-height:1.6}.student-checkin-history strong{color:var(--jc-ink);font-weight:750}.student-checkin-calendar-entry{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid color-mix(in srgb,var(--jc-primary) 22%,var(--jc-line));border-radius:9px;padding:7px 11px;color:var(--jc-primary);background:var(--jc-primary-soft);font-size:11px;font-weight:750;cursor:pointer}.student-checkin-calendar-entry>span{color:inherit;font-size:11px}.student-checkin-calendar-entry:not(:disabled):hover{border-color:var(--jc-primary);background:var(--jc-surface-hover)}.student-checkin-calendar-entry:disabled{color:var(--jc-muted);border-color:var(--jc-line);background:var(--jc-surface-soft);cursor:default}.student-checkin-calendar-entry:focus-visible{outline:3px solid var(--jc-primary);outline-offset:2px}.student-checkin-calendar-backdrop{padding:20px;background:#101f2f6b;backdrop-filter:blur(3px)}.student-checkin-calendar-dialog{width:min(600px,100%);max-height:calc(100dvh - 40px);border-color:var(--jc-line);border-radius:18px;background:var(--jc-surface)}.student-checkin-calendar-dialog .accessible-result-header{padding:18px 22px}.student-checkin-calendar-dialog .accessible-result-header h2{font-size:22px}.student-checkin-calendar-dialog .accessible-result-header button{min-height:40px;border-radius:10px}.student-checkin-calendar-dialog .accessible-result-content{padding:18px 22px 22px}.student-checkin-calendar-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:16px}.student-checkin-calendar-navigation button,.student-checkin-calendar-error button{min-height:40px;border:1px solid var(--jc-line);border-radius:9px;padding:7px 11px;color:var(--jc-primary);background:var(--jc-surface);font-size:12px;font-weight:700;cursor:pointer}.student-checkin-calendar-navigation button:not(:disabled):hover,.student-checkin-calendar-error button:hover{border-color:var(--jc-primary);background:var(--jc-primary-soft)}.student-checkin-calendar-navigation button:disabled{color:var(--jc-muted);background:var(--jc-surface-soft);opacity:.6;cursor:default}.student-checkin-calendar-month{color:var(--jc-ink);font-size:17px;text-align:center}.student-checkin-calendar-navigation .student-checkin-calendar-current{grid-column:1 / -1;justify-self:center;min-height:32px;padding:4px 12px}.student-checkin-calendar-navigation .student-checkin-calendar-current:disabled{display:none}.student-checkin-calendar-body{min-height:310px}.student-checkin-calendar-message,.student-checkin-calendar-error{padding:44px 10px;color:var(--jc-muted);text-align:center;line-height:1.7}.student-checkin-calendar-error p{color:#a52b22}.student-checkin-calendar-summary{margin:0 0 12px;border:1px solid var(--jc-line);border-radius:10px;padding:10px 13px;color:var(--jc-primary);background:var(--jc-primary-soft);font-size:13px;line-height:1.6}.student-checkin-calendar-summary strong{font-size:18px}.student-checkin-calendar-summary>span{font-size:12px}.student-checkin-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;margin:0 0 16px;color:var(--jc-muted);font-size:11px;line-height:1.6}.student-checkin-calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.student-checkin-calendar-legend i{display:inline-grid;min-width:17px;height:17px;place-items:center;border:1px solid var(--jc-line);border-radius:4px;font-style:normal}.student-checkin-calendar-legend i.student-checkin-calendar-legend-checked{color:#fff;background:var(--jc-primary);border-color:var(--jc-primary)}.student-checkin-calendar-legend i.student-checkin-calendar-legend-legacy{color:var(--jc-primary);background:var(--jc-primary-soft);border-color:var(--jc-primary)}.student-checkin-calendar-legend i.student-checkin-calendar-legend-future{color:var(--jc-muted);background:var(--jc-surface-soft);border-style:dashed}.student-checkin-calendar-legend i.student-checkin-calendar-legend-today{color:var(--jc-primary);border-color:var(--jc-primary)}.student-checkin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:3px}.student-checkin-calendar-weekday{padding-bottom:3px;color:var(--jc-muted);font-size:12px;text-align:center}.student-checkin-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:57px;border:1px solid var(--jc-line);border-radius:9px;padding:5px 2px;color:var(--jc-muted);background:var(--jc-surface);cursor:pointer}.student-checkin-calendar-day-number{font-size:15px;font-weight:700;line-height:1.3}.student-checkin-calendar-day-mark{min-height:16px;font-size:11px;line-height:1.3}.student-checkin-calendar-day-checked{border-color:var(--jc-primary);color:#fff;background:var(--jc-primary)}.student-checkin-calendar-day-legacy{color:var(--jc-primary);background:var(--jc-primary-soft)}.student-checkin-calendar-day-today{outline:2px solid var(--jc-primary);outline-offset:2px}.student-checkin-calendar-day-selected{box-shadow:inset 0 0 0 1px var(--jc-primary)}.student-checkin-calendar-day-checked.student-checkin-calendar-day-selected:not(.student-checkin-calendar-day-legacy){box-shadow:inset 0 0 0 1px var(--jc-surface)}.student-checkin-calendar-day:hover:not(:disabled){border-color:var(--jc-primary);box-shadow:inset 0 0 0 1px var(--jc-primary)}.student-checkin-calendar-day-checked:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--jc-surface)}.student-checkin-calendar-day-future:disabled{border-style:dashed;color:var(--jc-muted);background:var(--jc-surface-soft);opacity:1;cursor:default}.student-checkin-calendar-detail{display:grid;gap:4px;margin:16px 0 0;border-top:1px solid var(--jc-line);padding-top:13px;color:var(--jc-primary);font-size:12px;line-height:1.65}.student-checkin-calendar-detail>span{color:var(--jc-muted)}.student-checkin-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;color:var(--jc-muted);font-size:11px}.student-checkin-calendar-done{min-height:40px;border:1px solid var(--jc-primary);border-radius:10px;padding:8px 23px;color:#fff;background:var(--jc-primary);font-size:13px;font-weight:750;cursor:pointer}.student-checkin-calendar-done:hover{background:var(--jc-primary-hover)}@media(max-width:480px){.student-checkin-calendar-backdrop{padding:10px}.student-checkin-calendar-dialog{max-height:calc(100dvh - 20px);border-radius:14px}.student-checkin-calendar-dialog .accessible-result-header{padding:13px 14px}.student-checkin-calendar-dialog .accessible-result-header h2{font-size:20px}.student-checkin-calendar-dialog .accessible-result-content{padding:14px 12px}.student-checkin-calendar-navigation{gap:6px}.student-checkin-calendar-navigation button{padding:7px 9px}.student-checkin-calendar-month{font-size:15px}.student-checkin-calendar-grid{gap:6px}.student-checkin-calendar-day{min-height:52px}.student-checkin-calendar-legend{gap:6px 9px}}.student-reward-rules-backdrop{position:fixed;z-index:1450;inset:0;display:grid;place-items:center;padding:20px;background:#101f2f85;backdrop-filter:blur(4px)}.student-reward-rules{width:min(610px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid color-mix(in srgb,var(--jc-primary) 20%,var(--jc-line));border-radius:18px;padding:24px;background:var(--jc-surface);box-shadow:0 28px 80px #101f2f4d}.student-reward-rules>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-reward-rules>header span{color:var(--jc-primary);font-size:11px;font-weight:850;letter-spacing:.08em}.student-reward-rules>header h3{margin:4px 0 0;color:var(--jc-ink);font-size:22px}.student-reward-rules>header button{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-color:transparent;border-radius:10px;padding:0;color:var(--jc-muted);background:var(--jc-primary-soft);font-size:22px;line-height:1}.student-reward-rules-intro{margin:12px 0 18px;color:var(--jc-muted);font-size:12px;line-height:1.65}.student-reward-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.student-reward-rule-grid article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;border:1px solid var(--jc-line);border-radius:12px;padding:11px;background:color-mix(in srgb,var(--jc-primary-soft) 42%,var(--jc-surface))}.student-reward-rule-grid article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--jc-primary);background:var(--jc-surface);font-size:14px;font-weight:900}.student-reward-rule-grid article>div{display:grid;gap:2px;min-width:0}.student-reward-rule-grid article strong{color:var(--jc-ink);font-size:12px}.student-reward-rule-grid article small{overflow:hidden;color:var(--jc-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.student-reward-rule-grid article b{color:#a64d12;font-size:16px}.student-reward-milestones{margin-top:14px;border:1px solid #eadbbd;border-radius:13px;padding:14px;background:#fffaf0}.student-reward-milestones>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.student-reward-milestones>div strong{color:#704719;font-size:13px}.student-reward-milestones>div span{color:#8b6b45;font-size:10px}.student-reward-milestones ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 0;padding:0;list-style:none}.student-reward-milestones li{display:grid;justify-items:center;gap:3px;border-radius:9px;padding:9px 5px;background:#ffffffb8}.student-reward-milestones li span{color:#8b6b45;font-size:9px}.student-reward-milestones li b{color:#a64d12;font-size:15px}.student-reward-rules-note{margin:13px 0 0;border-left:3px solid var(--jc-primary);padding-left:10px;color:var(--jc-muted);font-size:10px;line-height:1.6}.student-reward-rules-done{width:100%;min-height:40px;margin-top:18px;border-color:var(--jc-primary);border-radius:10px;color:#fff;background:var(--jc-primary);font-weight:800}@media(max-width:1100px){.reward-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.student-rewards-heading{align-items:stretch;flex-direction:column;padding:17px}.student-points-balance{align-self:stretch;justify-content:center}.reward-item-grid{grid-template-columns:1fr}.reward-transaction-list article{padding-inline:15px}.reward-transaction-pagination{padding-inline:14px}}@media(max-width:520px){.reward-confirm-dialog{padding:22px 18px}.reward-confirm-dialog .reward-dialog-button{min-height:44px;padding-inline:10px}.student-rewards-heading-kicker{align-items:flex-start;flex-direction:column;gap:10px}.student-rewards-heading h2{font-size:24px}.reward-transaction-list article{align-items:flex-start}.reward-transaction-list article>div:first-child span{white-space:normal}.reward-transaction-pagination{grid-template-columns:1fr auto 1fr;gap:7px}.reward-transaction-pagination button{min-width:0;width:100%;padding-inline:8px}.reward-item-actions{align-items:stretch;flex-direction:column}.reward-item-actions>strong{align-self:flex-start}.reward-item-owned-actions{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.reward-item-action{min-height:42px;width:100%}.student-reward-rules-backdrop{place-items:end center;padding:0}.student-reward-rules{max-height:min(86vh,760px);border-radius:18px 18px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}.student-reward-rules>header h3{font-size:19px}.student-reward-rule-grid{grid-template-columns:1fr}.student-reward-milestones>div{align-items:flex-start;flex-direction:column;gap:3px}.student-reward-milestones ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@container student-learning-page (min-width: 800px) and (max-width: 1079px){.student-level-summary>.student-growth-heading{align-items:stretch;flex-direction:column}.student-level-rewards{grid-template-columns:minmax(0,1fr);width:100%}.student-level-rewards>div{justify-items:start}}@container student-learning-page (max-width: 520px){.student-level-summary>.student-growth-heading{align-items:stretch;flex-direction:column}.student-level-rewards{grid-template-columns:minmax(0,1fr);width:100%}.student-level-rewards>div{justify-items:start}.student-level-actionbar{align-items:stretch;flex-direction:column}.student-reward-help{align-self:flex-start}.student-level-reward-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-level-actionbar button{width:100%;padding-inline:9px}.student-checkin-action{align-items:stretch;flex-direction:column}.student-checkin-button{width:100%}}@media(prefers-reduced-motion:reduce){.reward-confirm-dialog .reward-dialog-button{transition:none}.reward-dialog-button.is-busy:before{animation:none}.reward-item-action,.student-level-actionbar button,.student-checkin-button{transition:none}.student-checkin-button.is-busy>span{animation:none}}.app-shell .favorite-star{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0;border:0;border-radius:8px;background:transparent;color:#8191a7;box-shadow:none;cursor:pointer}.app-shell .favorite-star svg{width:22px;height:22px;fill:transparent;stroke-width:1.8}.app-shell .favorite-star.is-selected{color:#bd7800}.app-shell .favorite-star.is-selected svg{fill:#ffc344}.app-shell .favorite-star:hover{background:#fff2cc}.app-shell .favorite-star:focus-visible{outline:2px solid var(--jc-primary);outline-offset:2px}.app-shell .favorite-star:disabled{cursor:wait;opacity:.55}.student-problem-main:has(>.favorite-star){position:relative;padding-left:42px}.student-problem-main>.favorite-star{position:absolute;left:0;top:-3px}.problem-title-with-favorite{display:flex;align-items:flex-start;gap:6px;min-width:0}.problem-title-with-favorite>h1{min-width:0;overflow-wrap:anywhere}.problem-title-with-favorite>.favorite-star{position:relative;z-index:3}.student-portal-shell.learning-refresh .student-page{container-name:student-learning-page;container-type:inline-size}.student-portal-shell.learning-refresh .student-page.personal-submissions{container-name:student-learning-page ps-records}.student-portal-shell.learning-refresh .student-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.learning-refresh .student-metric-grid .student-metric-favorites>span{display:flex;justify-content:space-between}.learning-refresh .student-metric-grid .student-metric-favorites>span>span{color:#bd7800}.student-portal-shell.learning-refresh .student-growth-overview{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.student-portal-shell.learning-refresh .student-level-summary{border-right:1px solid var(--jc-line);border-bottom:0}.learning-refresh .stats-back-button,.favorites-page .favorites-go-bank{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:40px;box-sizing:border-box;padding:8px 16px;margin:0;border:1px solid var(--jc-line-strong);border-radius:8px;background:var(--jc-surface);color:var(--jc-primary);font:inherit;font-size:14px;line-height:22px;font-weight:650;cursor:pointer}.learning-refresh .stats-back-button{justify-self:start;gap:6px}.learning-refresh .stats-back-button:hover{border-color:var(--jc-primary);background:var(--jc-surface-hover)}.favorites-page .favorites-go-bank{min-width:112px;border-color:var(--jc-primary);background:var(--jc-primary);color:#fff}.favorites-page .favorites-go-bank:hover{background:var(--jc-primary-hover);border-color:var(--jc-primary-hover)}.learning-refresh .stats-back-button:focus-visible,.favorites-page .favorites-go-bank:focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.student-portal-shell.learning-refresh .favorites-page .learning-empty{gap:16px;justify-items:center}.favorites-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;margin-bottom:20px;background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:12px}.favorites-filters input{width:min(360px,100%);min-width:0}.favorites-filters input,.favorites-filters select{border:1px solid var(--jc-line);border-radius:8px;background:var(--jc-surface);color:var(--jc-ink);padding:10px 12px;font:inherit}.favorites-filters>span{color:var(--jc-muted);font-size:13px}.favorite-unavailable{display:flex;align-items:center;gap:10px;padding:20px;color:var(--jc-muted);border-bottom:1px solid var(--jc-line)}.favorites-notice{position:fixed;z-index:1500;bottom:22px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:12px 18px;border-radius:10px;background:#243349;color:#fff;box-shadow:0 5px 20px #172d3f30}.favorites-notice button{margin-left:12px;background:#fff;color:#243349;border-radius:6px;padding:4px 10px;border:0}@container student-learning-page (max-width: 799px){.student-portal-shell.learning-refresh .student-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-portal-shell.learning-refresh .student-growth-overview{grid-template-columns:minmax(0,1fr)}.student-portal-shell.learning-refresh .student-level-summary{border-right:0;border-bottom:1px solid var(--jc-line)}}@container student-learning-page (max-width: 439px){.student-portal-shell.learning-refresh .student-metric-grid{grid-template-columns:minmax(0,1fr)}}@container student-learning-page (min-width: 800px) and (max-width: 1079px){.student-portal-shell.learning-refresh .student-growth-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.student-portal-shell.learning-refresh :is(.student-level-summary,.student-streak-summary){padding:16px 14px}.learning-refresh .student-growth-heading{gap:8px}.learning-refresh .student-level-identity{gap:6px}.learning-refresh .student-level-identity .learning-level-badge{width:54px;height:auto}.learning-refresh .student-level-avatar{width:52px;height:52px}.learning-refresh .student-level-identity h3{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.learning-refresh .student-growth-heading>strong{font-size:15px;white-space:nowrap}.learning-refresh .student-week-calendar{gap:4px}}@media(max-width:540px){.favorites-filters input{width:100%}.problem-title-with-favorite>.favorite-star{flex-basis:32px;width:32px}}.student-stats-page .student-xp-progress{height:12px}.student-stats-page .student-level-next{flex-wrap:wrap;row-gap:4px;margin-bottom:18px}.student-points-wallet{display:grid;gap:8px;border-radius:20px;padding:14px 16px 8px;background:var(--jc-primary-soft)}.student-wallet-main{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.student-wallet-balance{display:flex;align-items:center;gap:10px;min-width:0}.student-wallet-balance>svg{flex:0 0 40px;width:40px;height:40px}.student-wallet-balance>div{display:grid;gap:2px;min-width:0}.student-wallet-balance small{color:var(--jc-muted);font-size:11px}.student-wallet-balance strong{color:var(--jc-ink);font-size:30px;line-height:1.15;overflow-wrap:anywhere}.student-wallet-balance strong>span{font-size:10px;font-weight:600;white-space:nowrap}.student-points-wallet button{font:inherit;cursor:pointer}.student-points-wallet .student-wallet-shop{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;flex:0 0 auto;border:0;border-radius:15px;padding:9px 16px;color:#fff;background:var(--jc-primary);box-shadow:0 4px 0 var(--jc-primary-hover);font-size:14px;font-weight:800;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.student-wallet-shop>svg{width:20px;height:20px}.student-points-wallet .student-wallet-shop:hover{background:var(--jc-primary-hover);transform:translateY(-1px)}.student-points-wallet .student-wallet-shop:active{transform:translateY(2px);box-shadow:0 2px 0 var(--jc-primary-hover)}.student-wallet-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:10px}.student-wallet-links button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;border:0;border-radius:9px;padding:4px 0;color:var(--jc-primary);background:transparent;box-shadow:none;font-size:11px}.student-wallet-links button:hover{text-decoration:underline;text-underline-offset:3px}.student-wallet-links .student-wallet-help-icon{display:grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:800}.student-points-wallet button:focus-visible{outline:2px solid var(--jc-primary);outline-offset:4px}.student-stats-page .student-week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding-block:3px}.student-stats-page .student-week-day{grid-template-rows:auto auto auto;justify-items:center;align-content:start;gap:7px}.student-stats-page .student-week-day>span{width:min(100%,56px);height:auto;aspect-ratio:1;border-radius:50%;font-size:25px}.student-stats-page .student-week-day.is-completed>span{box-shadow:0 3px color-mix(in srgb,var(--jc-primary) 22%,var(--jc-surface))}.student-stats-page .student-week-day.is-future>span{background:color-mix(in srgb,var(--jc-primary-soft) 60%,var(--jc-surface))}.student-stats-page .student-week-day.is-today>small{color:var(--jc-primary);font-weight:800}.learning-refresh .student-stats-page .student-metric-grid{gap:14px}.learning-refresh .student-stats-page .student-metric-grid>:is(article,button){align-content:start;gap:5px;min-height:140px;border-radius:22px;padding:17px 18px;box-shadow:0 4px color-mix(in srgb,var(--jc-primary) 10%,var(--jc-surface))}.student-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:38px}.student-metric-heading>svg{flex:0 0 38px;width:38px;height:38px}.learning-refresh .student-stats-page .student-metric-grid strong{font-size:28px;line-height:1.35;overflow-wrap:anywhere}.learning-refresh .student-stats-page .student-metric-grid p{margin:0;line-height:1.6}.learning-refresh .student-stats-page .student-metric-grid>button:hover{box-shadow:0 5px color-mix(in srgb,var(--jc-primary) 18%,var(--jc-surface))}.student-knowledge-practice-panel>h3{margin-bottom:3px}.student-knowledge-practice-note{flex:0 0 auto;margin:0 0 8px;color:var(--jc-muted);font-size:11px;line-height:1.5}.student-stats-grid .student-knowledge-practice-table{min-width:440px;table-layout:fixed}.student-knowledge-practice-table th:first-child{width:29%}.student-knowledge-practice-table th:nth-child(2),.student-knowledge-practice-table th:nth-child(3){width:21%}.student-knowledge-practice-table th:last-child{width:29%}.student-knowledge-practice-table td:not(:first-child){white-space:nowrap}.student-knowledge-practice-empty{margin:16px 12px;color:var(--jc-muted);font-size:12px;line-height:1.6}@container student-learning-page (max-width: 520px){.student-points-wallet{padding-inline:12px}.student-wallet-balance{gap:7px}.student-wallet-balance>svg{flex-basis:34px;width:34px;height:34px}.student-wallet-balance strong{font-size:26px}.student-points-wallet .student-wallet-shop{padding-inline:12px;font-size:13px}.student-stats-page .student-week-calendar{gap:6px}.student-stats-page .student-week-day>span{font-size:20px}.learning-refresh .student-stats-page .student-metric-grid{gap:12px}.learning-refresh .student-stats-page .student-metric-grid>:is(article,button){padding:14px;min-height:130px;border-radius:18px}.student-metric-heading>svg{flex-basis:32px;width:32px;height:32px}.learning-refresh .student-stats-page .student-metric-grid strong{font-size:25px}.student-stats-grid .student-knowledge-practice-table{min-width:400px}.student-knowledge-practice-table :is(th,td){padding-inline:8px}}@container student-learning-page (min-width: 340px) and (max-width: 439px){.student-portal-shell.learning-refresh .student-stats-page .student-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.student-points-wallet .student-wallet-shop{transition:none}}.activity-discovery-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;margin:0 0 20px;border:1px solid var(--jc-line);border-radius:12px;background:var(--jc-surface)}.activity-discovery-filters input{min-width:170px;flex:1 1 280px;max-width:480px;border:1px solid var(--jc-line-strong);padding:10px 12px;border-radius:8px;font:inherit;background:var(--jc-surface);color:var(--jc-ink)}.activity-discovery-filters>span{font-size:12px;color:var(--jc-muted);flex-basis:100%}.activity-tabs{display:flex;flex-wrap:wrap;gap:6px}.activity-tabs button,.activity-discovery-filters>button,.app-shell .favorites-only-toggle{min-height:40px;border:1px solid var(--jc-line-strong);border-radius:8px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;background:var(--jc-surface);color:var(--jc-primary);white-space:nowrap}.activity-tabs button.active,.app-shell .favorites-only-toggle.active{border-color:var(--jc-primary);background:var(--jc-surface-hover);font-weight:700;box-shadow:inset 0 0 0 1px var(--jc-primary)}.activity-tabs button:focus-visible,.activity-discovery-filters button:focus-visible,.app-shell .favorites-only-toggle:focus-visible,.app-shell .activity-pin:focus-visible{outline:2px solid var(--jc-primary);outline-offset:3px}.favorites-kind-tabs{margin:0 0 16px}.app-shell .activity-personal-actions{display:inline-flex;align-items:center;flex-shrink:0;gap:2px;vertical-align:middle}.app-shell .activity-pin{display:inline-flex;justify-content:center;align-items:center;flex:0 0 36px;width:36px;min-height:36px;height:36px;border:0;border-radius:8px;padding:0;background:transparent;color:var(--jc-muted);cursor:pointer}.app-shell .activity-pin.is-selected{color:var(--jc-primary);background:var(--jc-surface-hover)}.app-shell .activity-pin.is-selected svg{fill:var(--jc-line)}.app-shell .activity-pin:hover{background:var(--jc-surface-hover)}.app-shell .activity-pin:disabled{opacity:.5;cursor:default}.learning-refresh .student-task-heading>h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.learning-refresh .student-task-kicker .activity-pin-label{font-size:11px;color:var(--jc-primary);border:1px solid var(--jc-line-strong);background:var(--jc-surface-hover);border-radius:5px;padding:2px 6px;white-space:nowrap}.learning-refresh .student-task-kicker .activity-pin-label.shared{background:var(--jc-primary);color:#fff;border-color:var(--jc-primary)}@media(max-width:640px){.activity-discovery-filters input{max-width:none;flex-basis:100%}}.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate{grid-template-columns:62px minmax(0,1fr) minmax(120px,170px) 110px 108px}.student-problem-ac-rate{display:grid;gap:7px;align-self:center;justify-self:center;width:100%;max-width:110px;min-width:0;color:var(--jc-muted);font-size:12px;white-space:nowrap}.student-problem-ac-rate-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.student-problem-ac-rate-heading>span{color:var(--jc-muted);font-size:12px;font-weight:500}.student-problem-ac-rate-heading>strong{color:var(--jc-ink);font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.student-problem-ac-rate-track{width:100%;height:6px;overflow:hidden;border-radius:999px;background:var(--jc-primary-soft)}.student-problem-ac-rate-track>span{display:block;height:100%;border-radius:inherit;background:var(--jc-primary)}@container student-problem-list (min-width: 840px) and (max-width: 1079px){.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate{grid-template-columns:54px minmax(0,1fr) minmax(108px,140px) 96px 100px}.has-ac-rate .student-problem-ac-rate{max-width:96px}.has-ac-rate .student-problem-ac-rate-heading>strong{font-size:14px}}@container student-problem-list (max-width: 839px){.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate{grid-template-columns:56px minmax(0,1fr) 102px}.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate>.student-problem-action{grid-column:3;grid-row:1}.has-ac-rate .student-problem-ac-rate{grid-column:3;grid-row:2}.has-ac-rate .student-problem-ac-rate-heading>strong{font-size:13px}}@container student-problem-list (max-width: 619px){.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate{grid-template-columns:50px minmax(0,1fr) 96px}.has-ac-rate .student-problem-ac-rate{max-width:92px}}@container student-problem-list (max-width: 559px){.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate{grid-template-columns:minmax(0,1fr) 100px}.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate>.student-problem-action{grid-column:2;grid-row:2}.student-portal-shell.learning-refresh .student-problem-card.has-ac-rate>.student-card-tags{grid-column:1;grid-row:3}.has-ac-rate .student-problem-ac-rate{grid-column:2;grid-row:3}}.pending-submission-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 16px;padding:12px 16px;border:1px solid var(--jc-line, #ceddee);border-radius:10px;color:var(--jc-text, #20364c);background:var(--jc-surface, #fff)}.pending-submission-notice p{margin:6px 0 0}.pending-submission-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.pending-submission-notice button,.workspace-result-actions button{min-height:36px;padding:7px 12px;border:1px solid var(--jc-line-strong, #b6cde7);border-radius:7px;color:var(--jc-primary, #2563a8);background:var(--jc-surface, #fff);cursor:pointer;font:inherit}.pending-submission-notice button:disabled{opacity:.55;cursor:wait}.feedback-SERVICE,.feedback-INPUT,.feedback-STALE{background:var(--jc-surface-soft, #f5f8fc);border-color:var(--jc-line, #ceddee);color:var(--jc-text, #20364c)}.feedback-INFO{background:var(--jc-surface-soft, #f5f8fc);border-color:var(--jc-line, #ceddee);color:var(--jc-muted, #62778f)}.accessible-result-dialog.submit-result-dialog{width:min(440px,100%)}.submit-result-dialog .accessible-result-content{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:20px}.submit-result-dialog .accessible-result-content>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.submit-result-dialog .submit-popup-mark{align-self:center;width:68px;min-width:68px;max-width:68px;height:68px;flex:0 0 68px;border-width:3px;font-size:24px}.submit-result-dialog .submit-popup-score{align-self:center;text-align:center;color:var(--jc-primary, #087f78);background:var(--jc-primary-soft, #e1f5f1)}.submit-result-dialog .accessible-result-content>p{margin:0;color:var(--jc-text, #20364c);font-size:16px;line-height:1.6;white-space:pre-wrap}.submit-result-dialog .accessible-result-content>small{color:var(--jc-muted, #62778f);font-size:14px;line-height:1.5;white-space:pre-wrap}.result-panel>.code-input-feedback{margin:10px 12px 0}.workspace-result{display:grid;gap:8px;margin-top:10px}.workspace-result>strong{margin-bottom:0}.workspace-result-actions{display:flex;flex-wrap:wrap;gap:8px}.workspace-result-actions button:focus-visible{outline:2px solid var(--jc-primary, #087f78);outline-offset:2px}.submit-details{margin-top:2px;padding-top:8px;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent)}.submit-details summary{width:fit-content;color:var(--jc-primary, #2563a8);font-weight:700;cursor:pointer}.submit-details .submit-list{margin:8px 0 0}@media(max-width:959px){.pending-submission-notice{flex-direction:column;align-items:stretch}}.accessible-result-dialog.problem-history-dialog{width:min(920px,100%)}@media(max-width:480px){.submit-result-dialog .accessible-result-header,.submit-result-dialog .accessible-result-content{padding:16px}}.auth-gate{min-height:100vh;background:#f5f8fa;color:#152334;padding:0 20px 36px}.auth-brand{display:flex;align-items:center;gap:16px;min-height:72px;max-width:1080px;margin:0 auto;border-bottom:1px solid #d8e2e8}.auth-brand strong{font-size:24px;color:#087f79}.auth-brand span{color:#64748b;font-size:14px}.auth-content{width:100%;max-width:400px;margin:64px auto 0}.auth-content h1{font-size:26px;margin:0 0 12px;line-height:1.3}.auth-content>p{margin:0 0 28px;color:#526375;font-size:14px;overflow-wrap:anywhere}.auth-content form{display:grid;gap:18px}.auth-field{display:grid;gap:8px;min-width:0}.auth-content label{font-size:15px;font-weight:600}.auth-content input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #aebfc9;border-radius:6px;padding:10px 12px;background:#fff;color:#152334;font:inherit;font-weight:400}.auth-password-control{position:relative;min-width:0}.auth-password-control input{padding-right:52px}.auth-password-control input::-ms-reveal,.auth-password-control input::-ms-clear{display:none}.auth-password-toggle{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0 6px 6px 0;background:transparent;color:#526375}.auth-password-toggle:hover:not(:disabled){color:#087f79}.auth-content input:focus-visible,.auth-content button:focus-visible{outline:3px solid #087f79;outline-offset:2px}.auth-content button{cursor:pointer}.auth-content button:disabled{opacity:.65;cursor:wait}.auth-error{min-height:22px;line-height:1.5;font-size:14px;color:#b42318;margin:0;overflow-wrap:anywhere}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #087f79;border-radius:6px;background:#087f79;color:#fff;font-size:16px;font-weight:600}.auth-secondary{margin-top:20px;border:0;background:transparent;color:#445a6b;padding:8px 0}.auth-refresh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:20px 0 0 auto;border:1px solid #c5d2db;border-radius:6px;background:#fff;color:#445a6b}.auth-spinner{animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.auth-content{margin-top:36px}.auth-brand{min-height:60px}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}body:has(.student-problem-summary-page){margin:0;background:#f3f7f8}.student-problem-summary-page{min-height:100vh;margin:0;background:#f3f7f8;color:#18313c;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-size:15px;line-height:1.6}.student-problem-summary-page *,.student-problem-summary-page *:before,.student-problem-summary-page *:after{box-sizing:border-box}.student-problem-summary-page h1,.student-problem-summary-page h2,.student-problem-summary-page h3,.student-problem-summary-page p,.student-problem-summary-page dl,.student-problem-summary-page dd{margin:0}.sps-brand{display:flex;align-items:center;gap:12px;height:76px;padding:0 max(24px,calc((100% - 1040px)/2));border-bottom:1px solid #dde7ea;background:#fff}.sps-brand-mark{display:grid;place-items:center;width:44px;height:42px;border-radius:10px;background:#0a827b;color:#fff;font-size:12px;font-weight:800;letter-spacing:-.4px}.sps-brand>strong{color:#18313c;font-size:23px;font-weight:750}.sps-brand>span:last-child{margin-left:5px;padding-left:16px;border-left:1px solid #dce6e9;color:#6d8189;font-size:13px}.sps-main{width:min(100%,940px);margin:0 auto;padding:48px 28px 64px}.sps-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.student-problem-summary-page .sps-eyebrow{margin-bottom:5px;color:#087e77;font-size:12px;font-weight:700;letter-spacing:.12em}.sps-page-heading h1{font-size:30px;line-height:1.4;letter-spacing:-.5px}.sps-page-heading>div>p:last-child{margin-top:7px;color:#70848c;font-size:14px}.student-problem-summary-page .sps-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:88px;min-height:42px;border:1px solid #b9d6d2;border-radius:8px;padding:8px 14px;background:#fff;color:#087e77;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.student-problem-summary-page .sps-refresh:hover:not(:disabled){background:#e9f5f2;border-color:#087e77}.student-problem-summary-page .sps-refresh:focus-visible{outline:3px solid #73c8be;outline-offset:3px}.student-problem-summary-page .sps-refresh:disabled{opacity:.65;cursor:default}.sps-result-card{border:1px solid #dce7ea;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 24px #1a41480a}.sps-record-heading{padding:26px 30px 24px}.sps-record-meta{display:flex;flex-wrap:wrap;gap:10px 26px;color:#748891;font-size:13px}.sps-record-meta span{overflow-wrap:anywhere}.sps-record-meta strong{margin-left:6px;color:#47626d;font-weight:650}.sps-record-heading h2{margin-top:12px;color:#17333f;font-size:23px;line-height:1.5;overflow-wrap:anywhere}.sps-main-state{display:flex;align-items:center;gap:16px;margin:0 30px;padding:22px 24px;border:1px solid #dce7ec;border-radius:10px;background:#f4f7f9;color:#536e7c}.sps-state-icon{display:grid;flex:0 0 46px;place-items:center;width:46px;height:46px;border-radius:50%;background:#e4ecf0;color:#69808d;font-size:26px;font-weight:700;line-height:1}.sps-main-state h3{font-size:25px;line-height:1.5}.sps-main-state p{margin-top:2px;font-size:13px}.sps-main-state[data-summary-state=passed]{border-color:#c5e5db;background:#edf8f3;color:#167b60}.sps-main-state[data-summary-state=passed] .sps-state-icon{background:#d4eee2;color:#167b60}.sps-main-state[data-summary-state=submitted]{border-color:#efdfbb;background:#fff8eb;color:#936620}.sps-main-state[data-summary-state=submitted] .sps-state-icon{background:#f8e9c5;color:#936620}.sps-main-state[data-summary-state=pending]{border-color:#cde0ee;background:#eef6fb;color:#356e93}.sps-main-state[data-summary-state=pending] .sps-state-icon{background:#dcecf7;color:#356e93}.sps-metrics{display:grid;grid-template-columns:1fr 1fr;padding:13px 30px 10px}.sps-metrics>div{min-width:0;padding:23px 0}.sps-metrics>div:nth-child(2n){padding-left:32px}.sps-metrics>div:nth-child(n+3){border-top:1px solid #e9eff1}.sps-metrics dt{margin-bottom:5px;color:#738890;font-size:13px}.sps-metrics dd{color:#203f4c;font-size:29px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.sps-metrics dd>span{color:#80919a;font-size:13px;font-weight:400}.sps-metrics .sps-metric-text{font-size:16px;font-weight:600}.student-problem-summary-page .sps-scope-note{margin-top:20px;padding:0 4px;color:#71868d;font-size:12px;line-height:1.9}.sps-error{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:22px 24px;border:1px solid #e9c9c3;border-radius:12px;background:#fff5f2;color:#92422f}.sps-error-symbol{display:grid;flex:0 0 25px;place-items:center;width:25px;height:25px;margin-top:2px;border:1.5px solid currentColor;border-radius:50%;font-size:16px;font-weight:700}.sps-error h2{margin-bottom:5px;font-size:18px;line-height:1.5}.sps-error p{font-size:14px;overflow-wrap:anywhere}.sps-error .sps-stale-note{margin-top:8px;font-weight:700}.sps-loading{display:flex;justify-content:center;align-items:center;gap:12px;min-height:230px;border:1px solid #dce7ea;border-radius:16px;background:#fff;color:#607b83}.sps-spinner{width:20px;height:20px;border:2px solid #dcece8;border-top-color:#12857d;border-radius:50%;animation:sps-spin .9s linear infinite}.student-problem-summary-page .sps-refreshing{padding:0 30px 18px;color:#087e77;font-size:12px}@keyframes sps-spin{to{transform:rotate(360deg)}}@media(max-width:520px){.sps-brand{height:66px;padding:0 18px;gap:10px}.sps-brand-mark{width:38px;height:38px;border-radius:8px}.sps-brand>strong{font-size:21px}.sps-brand>span:last-child{padding-left:12px}.sps-main{padding:28px 16px 40px}.sps-page-heading{align-items:flex-start;gap:10px;margin-bottom:22px}.sps-page-heading h1{font-size:24px}.sps-page-heading>div>p:last-child{font-size:12px}.student-problem-summary-page .sps-refresh{min-width:68px;min-height:40px;gap:4px;margin-top:24px;padding:7px 9px;font-size:13px}.sps-record-heading{padding:20px 20px 18px}.sps-record-meta{gap:8px 18px;font-size:12px}.sps-record-heading h2{margin-top:10px;font-size:20px}.sps-main-state{gap:12px;margin:0 18px;padding:18px 15px}.sps-state-icon{flex-basis:38px;width:38px;height:38px;font-size:22px}.sps-main-state h3{font-size:21px}.sps-main-state p{font-size:12px}.sps-metrics{padding:7px 20px 6px}.sps-metrics>div{padding:18px 0}.sps-metrics>div:nth-child(2n){padding-left:18px}.sps-metrics dd{font-size:26px}.sps-metrics .sps-metric-text{font-size:14px}.sps-error{padding:18px 16px}.sps-error h2{font-size:17px}.sps-error p{font-size:13px}}@media(prefers-reduced-motion:reduce){.sps-spinner{animation:none}}.sps-matrix-page .sps-brand{padding-inline:max(24px,calc((100% - 1440px)/2))}.sps-matrix-page .sps-main{width:min(100%,1496px);padding-top:32px}.sps-matrix-page .sps-page-heading{margin-bottom:22px}.sps-matrix-card{overflow:hidden;border:1px solid #dce7ea;border-radius:12px;background:#fff;box-shadow:0 4px 20px #1a41480a}.sps-matrix-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #dce7ea;font-size:13px}.sps-matrix-caption strong{font-weight:650;color:#315360}.sps-matrix-caption>span{color:#71868d;font-size:12px}.sps-matrix-scroll{max-height:66vh;min-height:160px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.sps-matrix-scroll:focus-visible{outline:3px solid #73c8be;outline-offset:-3px}.student-problem-summary-page .sps-matrix-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px;text-align:center}.sps-matrix-table th,.sps-matrix-table td{width:180px;min-width:180px;height:60px;padding:10px 12px;border:0;border-bottom:1px solid #e2ebee;border-right:1px solid #e2ebee;vertical-align:middle}.sps-matrix-table tr>:last-child{border-right:0}.sps-matrix-table tbody tr:last-child>*{border-bottom:0}.sps-matrix-table thead th{position:sticky;top:0;z-index:2;height:76px;background:#f0f5f7;font-weight:500;box-shadow:0 1px #dce7ea}.sps-matrix-table .sps-student-column{position:sticky;left:0;z-index:1;width:164px;min-width:164px;background:#fbfdfd;color:#315360;text-align:left;box-shadow:1px 0 #dce7ea}.sps-matrix-table thead .sps-student-column{z-index:3;background:#eaf2f4;font-weight:650}.sps-matrix-table tbody tr:hover td,.sps-matrix-table tbody tr:hover .sps-student-column{background-color:#f8fbfb}.sps-problem-id{display:block;color:#087e77;font-size:14px;font-weight:700;overflow-wrap:anywhere}.sps-problem-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;color:#607780;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.sps-row-error,.sps-column-error{display:block;color:#9a5542;font-size:11px;line-height:1.5;margin-top:3px;font-weight:400}.sps-student-column strong{font-weight:650;overflow-wrap:anywhere}.sps-student-link{display:inline;max-width:100%;padding:0;border:0;background:none;color:#087e77;font:inherit;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}.sps-student-link:hover{color:#075f5a;text-decoration-thickness:2px}.sps-student-link:focus-visible{border-radius:3px;outline:3px solid #73c8be;outline-offset:3px}.sps-cell-result{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;max-width:100%;padding:5px 9px;border:1px solid #dce7ec;border-radius:6px;background:#f4f7f9;color:#627984;font-size:12px;line-height:1.4;text-decoration:none;white-space:nowrap}.sps-cell-result strong{font-size:14px;font-weight:750}.sps-cell-result strong>span{font-size:11px;font-weight:400}.sps-cell-result[data-summary-state=passed]{background:#edf8f3;border-color:#c5e5db;color:#167b60}.sps-cell-result[data-summary-state=submitted]{background:#fff4ed;border-color:#f0d7c9;color:#a25331}.sps-cell-result[data-summary-state=pending]{background:#eef6fb;border-color:#cde0ee;color:#356e93}.sps-cell-result:is(button){font-family:inherit;cursor:pointer}.sps-cell-result:is(button):hover{filter:brightness(.96);text-decoration:underline}.sps-cell-result:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-cell-unavailable{color:#8a969b;font-size:12px}.sps-matrix-card .sps-refreshing{padding:10px 18px;border-top:1px solid #e2ebee}@media(max-width:520px){.sps-matrix-page .sps-brand{padding-inline:18px}.sps-matrix-page .sps-main{padding-top:24px}.sps-matrix-caption{align-items:flex-start;padding:12px;gap:6px}.sps-matrix-caption strong{font-size:12px}.sps-matrix-caption>span{font-size:11px}.sps-matrix-table .sps-student-column{width:134px;min-width:134px}.sps-matrix-scroll{max-height:62vh}}.sps-single-code-action{padding:0 30px 24px}.sps-single-code-action button,.sps-code-dialog button{min-height:36px;padding:7px 12px;border:1px solid #bdd5d7;border-radius:7px;background:#fff;color:#285761;font:inherit;font-size:13px;line-height:1.4;cursor:pointer}.sps-single-code-action button{background:#0a827b;color:#fff;border-color:#0a827b}.sps-code-dialog button:hover:not(:disabled){background:#eaf5f3;border-color:#14857d}.sps-code-dialog button:disabled{opacity:.45;cursor:default}.sps-code-dialog button:focus-visible,.sps-code-dialog select:focus-visible,.sps-code-dialog a:focus-visible,.sps-single-code-action button:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-code-dialog{position:fixed;inset:0;width:min(1000px,calc(100vw - 40px));max-width:none;max-height:min(860px,calc(100dvh - 40px));margin:auto;padding:0;border:1px solid #d2e1e5;border-radius:14px;background:#fff;color:#18313c;box-shadow:0 22px 90px #18313c40;font:inherit;font-size:14px;overflow:hidden}.sps-code-dialog::backdrop{background:#12232c80}.sps-code-dialog-inner{display:flex;flex-direction:column;max-height:min(858px,calc(100dvh - 42px))}.sps-code-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid #dfe8eb;background:#f8fbfb}.sps-code-heading h2{font-size:23px;line-height:1.4}.sps-code-heading p{margin-top:5px;color:#607780;font-size:13px;overflow-wrap:anywhere}.sps-code-heading p span{margin:0 10px}.sps-code-dialog .sps-code-close{flex:0 0 36px;width:36px;padding:3px;font-size:26px;line-height:1}.sps-code-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 24px 22px}.sps-code-message{padding:24px 12px;background:#f4f8f9;border-radius:8px;color:#5b737e;font-size:14px}.sps-code-message button{margin-top:12px}.sps-code-error{color:#92422f;background:#fff4ef}.student-problem-summary-page .sps-code-restricted{margin-bottom:14px;padding:9px 12px;border:1px solid #efdfbb;border-radius:7px;background:#fff8eb;color:#8a652c;font-size:12px}.sps-code-history-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.sps-code-shortcuts{display:flex;gap:7px}.sps-code-shortcuts button[aria-pressed=true]{color:#087e77;background:#e7f5f2;border-color:#5fb1a8;font-weight:650}.sps-code-history-label{display:flex;align-items:center;gap:8px;flex:1 1 350px;min-width:0;color:#59747e;font-size:12px}.sps-code-history-label select{flex:1 1 auto;min-width:0;max-width:100%;height:36px;border:1px solid #bdd5d7;border-radius:7px;padding:5px 8px;background:#fff;color:#284e5c;font:inherit}.sps-code-history-pages{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-basis:100%;color:#69818b;font-size:12px}.sps-code-meta{display:grid;grid-template-columns:1.55fr .9fr 1.2fr 1.25fr .65fr;gap:14px;padding:14px 16px;border:1px solid #e0e9eb;border-radius:8px;background:#fbfdfd}.sps-code-meta>div{min-width:0}.sps-code-meta dt{color:#71868d;font-size:12px;margin-bottom:4px}.sps-code-meta dd{color:#244857;font-size:13px;font-weight:600;overflow-wrap:anywhere}.sps-code-meta .sps-code-source-label{color:#406b70}.sps-code-meta .sps-code-source-label[data-source=training]{color:#6b5790}.sps-code-meta [data-code-status=AC]{color:#167b60}.sps-code-meta [data-code-status=WA],.sps-code-meta [data-code-status=CE],.sps-code-meta [data-code-status=RE]{color:#a25331}.sps-code-source-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;margin-bottom:9px;color:#69818b;font-size:12px}.sps-code-source-heading>div{display:flex;align-items:center;gap:10px}.sps-code-source-heading [role=status]{color:#476c76}.sps-code-viewport{display:flex;align-items:flex-start;width:100%;max-height:380px;min-height:200px;overflow:auto;overscroll-behavior:contain;border-radius:8px;background:#111b2b;color:#d6e2f0;tab-size:4}.sps-code-viewport:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-code-viewport pre{margin:0;padding:16px;font:14px/1.7 Consolas,Cascadia Code,monospace;white-space:pre}.sps-code-viewport code{font:inherit}.sps-code-viewport .sps-code-lines{flex:0 0 auto;position:sticky;left:0;min-width:48px;padding-right:12px;color:#8396ad;background:#152132;text-align:right;user-select:none}.sps-code-viewport .sps-code-source{flex:1 0 auto;padding-left:14px;padding-right:24px}.sps-code-viewport .tok-keyword{color:#fbbf24}.sps-code-viewport .tok-command{color:#38bdf8}.sps-code-viewport .tok-number{color:#a7f3d0}.sps-code-viewport .tok-string{color:#fca5a5}.sps-code-viewport .tok-comment{color:#94a3b8}.sps-code-viewport .tok-operator{color:#f472b6}.sps-code-viewport .tok-punctuation{color:#c4b5fd}.sps-code-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 24px;border-top:1px solid #dfe8eb;color:#758991;font-size:12px}.sps-code-footer a{flex-shrink:0;color:#087e77;text-decoration:none;font-weight:600}.sps-code-footer a:hover{text-decoration:underline}.sps-code-archived-note{color:#718087;font-size:12px;font-weight:650;text-align:right}.sps-code-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.sps-code-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.sps-code-dialog-inner{max-height:calc(100dvh - 18px)}.sps-code-heading{padding:15px 14px 12px}.sps-code-heading h2{font-size:21px}.sps-code-dialog-body{padding:14px}.sps-code-history-label{flex-basis:100%;flex-direction:column;align-items:stretch;gap:5px}.sps-code-history-label select{flex-basis:36px}.sps-code-history-pages{justify-content:flex-start}.sps-code-meta{grid-template-columns:1.35fr 1fr;gap:12px;padding:12px}.sps-code-source-heading>div{flex-wrap:wrap}.sps-code-viewport{max-height:330px;min-height:170px}.sps-code-viewport pre{font-size:13px}.sps-code-footer{padding:12px 14px;align-items:flex-start}.sps-code-footer>span{max-width:52%}}.sps-history-page .sps-main{width:min(100%,1240px);padding-top:32px}.sps-heading-actions{display:flex;align-items:center;gap:10px}.student-problem-summary-page .sps-back{min-height:42px;padding:8px 14px;border:1px solid #cbdadd;border-radius:8px;background:#fff;color:#315360;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.student-problem-summary-page .sps-back:hover{background:#f1f7f7;border-color:#8eb8b4}.student-problem-summary-page .sps-back:focus-visible{outline:3px solid #73c8be;outline-offset:3px}.sps-history-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;align-items:end;gap:12px;margin-bottom:20px;padding:18px;border:1px solid #dce7ea;border-radius:12px;background:#fff}.sps-history-filters label{display:grid;gap:6px;color:#59747e;font-size:12px;font-weight:650}.sps-history-filters input,.sps-history-filters select{width:100%;height:42px;border:1px solid #bdd5d7;border-radius:8px;padding:7px 11px;background:#fff;color:#244857;font:inherit;font-size:14px}.sps-history-filters button,.sps-history-table button,.sps-history-pages button{min-height:42px;border:1px solid #0a827b;border-radius:8px;padding:7px 14px;background:#0a827b;color:#fff;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.sps-history-filters :is(input,select,button):focus-visible,.sps-history-table button:focus-visible,.sps-history-pages button:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-history-card{overflow:hidden;border:1px solid #dce7ea;border-radius:12px;background:#fff;box-shadow:0 4px 20px #1a41480a}.sps-history-scroll{overflow-x:auto}.student-problem-summary-page .sps-history-table{width:100%;min-width:920px;margin:0;border-collapse:collapse;table-layout:fixed;font-size:13px}.sps-history-table th,.sps-history-table td{padding:16px 14px;border-bottom:1px solid #e2ebee;text-align:left;vertical-align:middle}.sps-history-table thead th{padding-block:12px;background:#f0f5f7;color:#607780;font-weight:650}.sps-history-table tbody tr:last-child>*{border-bottom:0}.sps-history-table thead th:first-child,.sps-history-table tbody th{width:31%}.sps-history-table tbody th strong,.sps-history-table tbody th>span{display:block;overflow-wrap:anywhere}.sps-history-table tbody th strong{color:#087e77;font-size:13px}.sps-history-table tbody th>.sps-history-problem-title{margin-top:3px;color:#254551;font-size:15px}.sps-history-table tbody th>.sps-history-source-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.sps-history-source-tag{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border:1px solid #c9dedf;border-radius:999px;background:#f0f7f7;color:#406b70;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}.sps-history-source-tag[data-source=training]{border-color:#ddd4ee;background:#f6f2fb;color:#6b5790}.sps-history-table td small{display:block;margin-top:4px;color:#72878f;line-height:1.4}.sps-history-table .sps-history-offline{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:999px;background:#edf1f2;color:#718087;font-size:11px;font-weight:500}.sps-history-state{display:inline-flex;align-items:center;min-height:27px;padding:3px 8px;border:1px solid #dce7ec;border-radius:999px;background:#f4f7f9;color:#627984;font-weight:650;white-space:nowrap}.sps-history-state[data-summary-state=passed]{border-color:#c5e5db;background:#edf8f3;color:#167b60}.sps-history-state[data-summary-state=submitted]{border-color:#f0d7c9;background:#fff4ed;color:#a25331}.sps-history-state[data-summary-state=pending]{border-color:#cde0ee;background:#eef6fb;color:#356e93}.sps-history-table button{min-height:36px;padding:6px 11px;background:#fff;color:#087e77}.sps-history-table button:hover{background:#eaf5f3}.sps-history-pages{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid #e2ebee;color:#69818b;font-size:12px}.sps-history-pages button{min-height:36px;padding:6px 11px;background:#fff;color:#087e77}.sps-history-pages button:disabled{opacity:.45;cursor:default}.sps-history-empty{padding:56px 20px;color:#71868d;text-align:center}@media(max-width:680px){.sps-heading-actions{align-items:stretch;flex-direction:column}.student-problem-summary-page .sps-back,.student-problem-summary-page .sps-heading-actions .sps-refresh{min-width:0;min-height:36px;margin:0;padding:5px 9px}.sps-history-filters{grid-template-columns:1fr;padding:14px}.sps-history-pages{justify-content:flex-start;overflow-x:auto}}.sps-history-table-anchor{scroll-margin-top:18px}.sps-history-pagination{--history-page-line: #dce7ea;--history-page-ink: #244857;--history-page-muted: #69818b;--history-page-primary: #087e77;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 16px;color:var(--history-page-muted);font-size:12px}.sps-history-pagination.is-top{border-bottom:1px solid var(--history-page-line);background:#f8fbfb}.sps-history-pagination.is-bottom{border-top:1px solid var(--history-page-line);background:#fff}.sps-history-pagination-summary,.sps-history-pagination-controls,.sps-history-page-size{display:flex;align-items:center}.sps-history-pagination-summary{flex:0 0 auto;gap:12px;white-space:nowrap}.sps-history-pagination-summary strong{color:var(--history-page-ink);font-size:13px}.sps-history-pagination-controls{justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}.sps-history-pagination button{min-height:36px;border:1px solid #a8ccca;border-radius:8px;padding:6px 12px;background:#fff;color:var(--history-page-primary);font:inherit;font-weight:650;white-space:nowrap;cursor:pointer}.sps-history-pagination button:hover:not(:disabled){border-color:var(--history-page-primary);background:#eaf5f3}.sps-history-pagination button:disabled{opacity:.45;cursor:default}.sps-history-pagination :is(button,select):focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-history-page-size{gap:6px;white-space:nowrap}.sps-history-page-size select{min-width:64px;height:36px;border:1px solid #a8ccca;border-radius:8px;padding:4px 24px 4px 9px;background:#fff;color:var(--history-page-ink);font:inherit;font-size:13px;font-weight:650}.sps-history-pagination .jc-page-jump{margin-left:2px;color:var(--history-page-muted)}@media(max-width:760px){.sps-history-pagination{align-items:flex-start;flex-direction:column;gap:9px;padding:11px 12px}.sps-history-pagination-controls{justify-content:flex-start;width:100%}.sps-history-pagination.is-bottom .jc-page-jump{flex-basis:100%;justify-content:flex-start;margin:2px 0 0}}.sps-matrix-search{display:grid;gap:14px;margin-bottom:16px;border:1px solid #dce7ea;border-radius:12px;padding:16px 18px;background:#fff;box-shadow:0 4px 20px #1a41480a}.sps-matrix-search-copy{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.sps-matrix-search-copy strong{color:#315360;font-size:14px}.sps-matrix-search-copy span{color:#71868d;font-size:12px}.sps-matrix-search-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;align-items:end;gap:12px}.sps-matrix-search-fields label{display:grid;gap:6px;min-width:0;color:#58717b;font-size:12px;font-weight:650}.sps-matrix-search-fields input{width:100%;min-width:0;min-height:42px;border:1px solid #bdd5d7;border-radius:8px;padding:8px 11px;background:#fff;color:#18313c;font:inherit;font-size:14px}.sps-matrix-search-fields input::placeholder{color:#91a2a9}.sps-matrix-search-fields input:focus-visible,.sps-matrix-search-actions button:focus-visible{outline:3px solid #73c8be;outline-offset:2px}.sps-matrix-search-actions{display:flex;gap:8px}.sps-matrix-search-actions button{min-width:72px;min-height:42px;border:1px solid #0a827b;border-radius:8px;padding:8px 14px;background:#0a827b;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.sps-matrix-search-actions button:hover{background:#08736d}.sps-matrix-search-actions .is-secondary{border-color:#bdd5d7;background:#fff;color:#285761}.sps-matrix-search-actions .is-secondary:hover{border-color:#14857d;background:#eaf5f3}.sps-matrix-empty{display:grid;min-height:180px;place-content:center;justify-items:center;gap:5px;padding:28px;color:#71868d;text-align:center}.sps-matrix-empty strong{color:#315360;font-size:15px}.sps-matrix-empty span{max-width:480px;font-size:12px;line-height:1.7}@media(max-width:760px){.sps-matrix-search-copy{align-items:flex-start;flex-direction:column;gap:3px}.sps-matrix-search-fields{grid-template-columns:1fr 1fr}.sps-matrix-search-actions{grid-column:1 / -1}}@media(max-width:520px){.sps-matrix-search{gap:12px;padding:14px 12px}.sps-matrix-search-fields{grid-template-columns:1fr}.sps-matrix-search-actions{grid-column:auto}.sps-matrix-search-actions button{flex:1}}.jc-recovery{min-height:100vh;background:#f3f7f8;padding:clamp(20px,5vw,64px);box-sizing:border-box;color:#182638;font-family:system-ui,Microsoft YaHei,sans-serif}.jc-recovery-card{max-width:760px;margin:auto;padding:clamp(20px,4vw,40px);background:#fff;border:1px solid #d9e5e9;border-radius:16px;box-shadow:0 8px 30px #1c46530a}.jc-recovery-brand{color:#087f7b;font-size:22px;font-weight:800}.jc-recovery h1{font-size:26px;margin:20px 0 12px}.jc-recovery h2{font-size:18px;margin:18px 0 8px}.jc-recovery p{line-height:1.8;color:#526578}.jc-recovery .jc-recovery-warning{background:#fff5e7;color:#815416;border-radius:8px;padding:12px}.jc-recovery button{font:inherit;min-height:44px;border:1px solid #bfd4d9;border-radius:8px;padding:10px 18px;background:#fff;color:#17585a;cursor:pointer;margin:12px 12px 0 0}.jc-recovery .jc-recovery-primary{background:#087f7b;color:#fff;border-color:#087f7b}.jc-recovery button:focus-visible{outline:3px solid #7cc9c3;outline-offset:3px}.jc-recovery label{display:block;font-size:14px}.jc-recovery textarea{display:block;margin-top:8px;width:100%;min-height:180px;box-sizing:border-box;border:1px solid #bfd4d9;border-radius:8px;padding:12px;font:14px/1.7 Consolas,monospace;resize:vertical}
