:root{--color-primary: #8BCF2A;--color-primary-dark: #4C8A1E;--color-forest: #0F5B48;--color-background: #7ED6D8;--color-surface: #4AAFB0;--color-card: #DDF8F1;--color-mint: #5DD3AE;--color-coral: #F46B6B;--color-gold: #F6D365;--color-lime: #A8D85C;--color-sky: #69C7F5;--color-lavender: #A98CEB;--color-page: #F8FCFB;--color-border: #D7E7E2;--color-text-secondary: #61726F;--color-text: #214C45;--color-success: #69C05E;--color-warning: #F6C344;--color-danger: #D95C5C;--color-info: #56B7D8;--gradient-brand: linear-gradient(180deg, #A8D85C, #7BC943);--gradient-ocean: linear-gradient(180deg, #BDEEEF, #6ECFD0);--gradient-card: linear-gradient(180deg, #FFFFFF, #EAFBF7);--shadow-soft: 0 18px 40px rgba(15, 91, 72, .16);--shadow-control: 0 8px 18px rgba(15, 91, 72, .12);color:var(--color-text);background:var(--gradient-ocean);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(246,211,101,.42),transparent 28rem),var(--gradient-ocean)}button,input,select,textarea{font:inherit}button{border:1px solid var(--color-border);border-radius:18px;padding:10px 14px;color:var(--color-text);background:var(--gradient-card);cursor:pointer;box-shadow:0 2px #0f5b4814;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.headerButton{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:18px;padding:10px 14px;color:var(--color-text);background:var(--gradient-card);text-decoration:none;box-shadow:0 2px #0f5b4814;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover,.headerButton:hover{border-color:var(--color-primary-dark);box-shadow:var(--shadow-control);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed}.appShell{width:min(1120px,100%);margin:0 auto;padding:24px}.topBar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;padding:6px 0 2px}.brandButton{display:inline-flex;align-items:center;gap:12px;border:0;padding:0;font-size:36px;font-weight:800;color:var(--color-forest);background:transparent;box-shadow:none}.brandBlock{display:grid;justify-items:start;gap:3px}.userGreeting{margin:-2px 0 0 70px;color:var(--color-text-secondary);font-size:17px;font-style:italic;line-height:1.3}.userGreeting strong{color:var(--color-forest)}.brandButton img{width:58px;height:58px;object-fit:contain}.topBar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topBar__primaryActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actionButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-color:transparent;padding:11px 16px;color:#fff;font-weight:800;background:var(--gradient-brand);box-shadow:0 10px 20px #4c8a1e38}.actionButton span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;color:var(--color-primary-dark);background:#ffffffd1;line-height:1}.actionButton--upload{background:linear-gradient(180deg,var(--color-sky),var(--color-info))}.actionButton--folder{background:linear-gradient(180deg,var(--color-gold),#efb84b)}.studentViewPreviewButton,.exitStudentViewButton{border-color:transparent;color:#4a3700;background:linear-gradient(180deg,#ffe486,var(--color-gold));box-shadow:0 10px 20px #bf8f1738;font-weight:900}.actionButton--data{background:linear-gradient(180deg,#ff8aa0,var(--color-coral));box-shadow:0 10px 20px #f46b6b38}.logoutButton{display:inline-flex;align-items:center;gap:8px;min-height:46px;border-color:#0f5b4838;padding:11px 16px;color:var(--color-forest);background:#f8fcfbc2;font-weight:900}.exitIcon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.settingsMenu{position:relative}.gearButton{display:inline-grid;place-items:center;width:46px;height:46px;border-color:#0f5b4838;padding:0;color:var(--color-forest);background:#f8fcfbb8;font-size:30px;line-height:1}.settingsMenu__panel{position:absolute;top:calc(100% + 10px);right:0;z-index:10;display:grid;gap:6px;min-width:290px;border:1px solid var(--color-border);border-radius:18px;padding:8px;background:var(--gradient-card);box-shadow:var(--shadow-soft)}.settingsMenu__panel button,.settingsMenu__item{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:14px;padding:10px 12px;color:var(--color-text);background:transparent;box-shadow:none;text-align:left;text-decoration:none;white-space:nowrap}.settingsMenu__panel .uiIcon,.settingsMenu__panel .exitIcon{flex:0 0 auto;width:20px;height:20px;color:var(--color-forest)}.settingsMenu__panel button:hover,.settingsMenu__item:hover{background:var(--color-card);box-shadow:none;transform:none}.panel{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:22px;padding:24px;box-shadow:var(--shadow-soft)}.panel--narrow{max-width:680px}.badgeLoginScanner{display:grid;gap:12px;overflow:hidden;width:100%;margin-bottom:14px;border:1px solid rgba(15,91,72,.22);border-radius:20px;padding:14px;color:#fff;background:linear-gradient(180deg,var(--color-forest),#184a5c);font-weight:900;box-shadow:0 12px 28px #0f5b4833}.badgeLoginScanner__header{display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;line-height:1.25;text-align:center}.badgeLoginScanner__header .uiIcon{width:30px;height:30px;stroke-width:1.8}.badgeLoginScanner__video{width:100%;aspect-ratio:4 / 3;border:2px solid rgba(255,255,255,.5);border-radius:14px;background:#10231f;object-fit:cover}.badgeCameraFrame{position:relative;overflow:hidden;border-radius:14px}.badgeCameraFrame .badgeScannerVideo,.badgeCameraFrame .badgeLoginScanner__video{display:block}.badgeCameraHint{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.badgeCameraHint__card{display:grid;justify-items:center;gap:10px;width:min(68%,300px);min-width:210px;border:2px dashed rgba(255,255,255,.82);border-radius:18px;padding:14px;color:#113f35;background:#ffffff94;box-shadow:0 12px 28px #0000002e;opacity:.82;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.badgeCameraHint__leaf{width:100%;border-radius:999px;padding:6px 10px;color:#fff;background:#0f5b48d1;font-size:18px;font-weight:900;text-align:center}.badgeCameraHint__qr{width:min(150px,72%);aspect-ratio:1;fill:#10231f}.badgeCameraHint__qr>rect,.badgeCameraHint__qrCut{fill:#ffffffeb}.badgeLoginScanner__status{display:grid;justify-items:center;gap:8px;margin:0;border-radius:12px;padding:9px 11px;color:var(--color-forest);background:#ffffffe0;font-size:13px;line-height:1.35;text-align:center}.badgeLoginScanner__status button,.badgeScannerStatus button{border-color:transparent;padding:8px 12px;color:#fff;background:var(--color-forest);font-size:13px;font-weight:900}.loginDivider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:2px 0 14px;color:var(--color-text-secondary);font-size:13px;font-weight:850}.loginDivider:before,.loginDivider:after{height:1px;content:"";background:var(--color-border)}.panel--game{max-width:760px;margin:0 auto}.sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.sectionHeader h1{margin:0;font-size:26px;line-height:1.15;color:var(--color-forest)}.setDetailTitle{font-size:34px}.setDetailHeading{display:flex;align-items:flex-start;gap:14px}.setDetailHeading .libraryIcon{width:44px;height:44px;margin-top:2px}.setTermCount{margin:6px 0 0;color:var(--color-text-secondary);font-size:15px;font-weight:700}.setDetailHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.setDetailHeader>.iconCloseSetButton{grid-column:2;grid-row:1}.setDetailHeader>.detailActions{grid-column:1 / -1;grid-row:2;width:100%}.setDetailHeader .gameActions,.setDetailHeader .setActions{width:100%;justify-content:flex-end}.gameTitleBlock{display:grid;gap:12px}.activityTitleTrail{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.activityTitleTrail__item{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--color-forest)}.activityTitleTrail h1{margin:0;color:inherit;font-size:26px;font-weight:900;line-height:1.15}.activityTitleTrail__activity{color:#123b68}.activityTitleTrail .libraryIcon,.activityTitleTrail .uiIcon{flex:0 0 auto}.activityTitleTrail .libraryIcon{width:34px;height:34px}.activityTitleTrail__activity .uiIcon{width:32px;height:32px;stroke-width:2.4}.activityTitleTrail__arrow{width:28px!important;height:28px!important;color:#315f8e;stroke-width:2.8}.gameSubtitle{margin:6px 0 0;color:var(--color-text-secondary)}.gameProgress{border:1px solid var(--color-border);border-radius:999px;padding:6px 10px;color:var(--color-forest);background:var(--color-card)}.gameHeaderActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.invasionCloseButton{border-color:#5bf5ff73;color:#bffaff;background:#04142ee0;box-shadow:0 0 16px #41e5ff1f}.invasionCloseButton:hover:not(:disabled){color:#fff;background:#08284cf5;box-shadow:0 0 20px #41e5ff52}.notice{margin-bottom:14px;border:1px solid rgba(86,183,216,.42);border-radius:18px;padding:12px 14px;color:var(--color-forest);background:linear-gradient(180deg,#ddf8f1f5,#ffffffe6)}.libraryView{display:grid;gap:16px}.setList,.termList,.formStack{display:grid;gap:12px}.libraryGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px}.libraryColumn{display:grid;align-content:start;gap:12px}.libraryMainColumn,.librarySidebar{display:grid;align-content:start;gap:18px}.recentActivityPanel{gap:14px}.recentlyCreatedSetsPanel{gap:10px}.recentlyCreatedSetList{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.recentlyCreatedSetRow{display:flex;align-items:center;min-width:0;gap:8px;border:1px solid rgba(15,91,72,.12);border-radius:12px;padding:7px 9px;color:var(--color-text);background:#ffffff94;text-align:left;box-shadow:none}.recentlyCreatedSetRow:hover:not(:disabled){border-color:var(--color-primary-dark);background:#a8d85c1f;box-shadow:none}.recentlyCreatedSetRow .libraryIcon{width:22px;height:22px}.recentlyCreatedSetRow>span{display:grid;min-width:0;gap:1px}.recentlyCreatedSetRow strong{font-size:13px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.recentlyCreatedSetRow small{color:var(--color-text-secondary);font-size:11px;font-weight:500}.recentActivityHeader{align-items:flex-start;flex-wrap:wrap}.recentActivityRangeControls{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.rangeButton{border-color:#0f5b4824;border-radius:999px;padding:6px 10px;color:var(--color-text-secondary);background:#ffffffad;box-shadow:none;font-size:12px;font-weight:750}.rangeButton--active{border-color:var(--color-primary-dark);color:#fff;background:var(--color-primary-dark)}.recentActivityFolders{display:grid;gap:16px}.recentActivityContentGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;align-items:start}.recentActivityColumn{display:grid;gap:12px;min-width:0}.recentActivityColumn>h3{margin:0;color:var(--color-forest);font-size:17px}.recentStudentActivityList{display:grid;gap:0}.recentStudentActivityRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid rgba(15,91,72,.12);padding:4px 2px}.recentStudentActivityRow:last-child{border-bottom:0}.recentStudentActivityName{display:flex;align-items:center;min-width:0;gap:5px;flex-wrap:wrap}.recentStudentActivityName>strong{flex:0 1 auto;font-size:13px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.recentStudentActivityIcons{display:contents}.recentStudentActivityIcon{display:inline-grid;place-items:center;flex:0 0 auto;width:23px;height:23px;border:2px solid;border-radius:50%;background:#fff}.recentStudentActivityIcon .uiIcon{width:14px;height:14px;stroke-width:2.3}.recentStudentActivityIcon--complete{border-color:transparent;color:#fff;background:linear-gradient(180deg,var(--color-sky),var(--color-info))}.recentStudentActivityIcon--started{border-color:#d6dddb;color:#bcc5c2;background:#fff}.recentActivityTopic{display:grid;gap:10px}.recentActivityTopic>h3{margin:0;color:#694db4;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.recentActivityFolder{display:grid;gap:8px;border-top:1px solid rgba(15,91,72,.12);padding-top:10px}.recentActivityTopic>.recentActivityFolder:first-of-type{border-top:0;padding-top:0}.recentActivityFolder h4{display:flex;align-items:center;gap:8px;margin:0;color:var(--color-forest);font-size:16px}.recentActivityFolder .libraryIcon{width:26px;height:26px}.recentActivitySetList{display:grid;gap:5px}.recentActivitySet{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid rgba(15,91,72,.12);border-radius:14px;padding:6px 8px;background:#ffffff94}.recentActivitySetMain{display:grid;gap:5px;width:100%;min-width:0;border:0;border-radius:10px;padding:0;color:inherit;background:transparent;text-align:left;box-shadow:none}.recentActivitySet:hover{border-color:var(--color-primary-dark);background:#a8d85c1f}.recentActivitySetMain:hover:not(:disabled){box-shadow:none}.recentActivitySetTitle{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.recentActivitySetTitle .libraryIcon{width:22px;height:22px}.recentActivitySetTitle strong{flex:0 1 auto;color:var(--color-text);font-size:13px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.activeStudentIcons{display:contents}.activeStudentIcon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;color:#5d4698;background:#a98ceb29}.activeStudentIcon .uiIcon{width:14px;height:14px;stroke-width:2.3}.recentActivityDataButton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border-color:transparent;border-radius:50%;padding:0;color:#fff;background:linear-gradient(180deg,#ff8aa0,var(--color-coral));box-shadow:0 8px 16px #f46b6b33}.recentActivityDataButton .uiIcon{width:13px;height:13px}.recentActivitySet p{margin:2px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.35}.recentActivitySet p:first-child{margin-top:0}.studentFolderGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.studentFolderSection{box-shadow:var(--shadow-soft)}.studentFolderHeader{border:0;border-radius:0;background:#ffffff94}.studentFolderHeader strong{min-width:0;overflow-wrap:anywhere}.classPickerList{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.classPickerButton{width:100%;padding:8px 10px;text-align:left}.classPickerButton--active{border-color:var(--color-primary-dark);color:#fff;background:var(--color-primary-dark)}.currentClassVisibilityTitle{margin:0;color:var(--color-forest);font-size:18px;line-height:1.2}.showPastClassesButton{width:100%;margin-top:4px;border-color:#0f5b482e;padding:11px 13px;color:var(--color-forest);background:#ffffffb8;font-size:14px;font-weight:850}.classSetAssignments{display:grid;gap:12px;max-height:560px;overflow-y:auto;padding-right:3px}.classSetAssignments section{display:grid;gap:3px}.classSetAssignments .classSetAssignmentTopic{gap:5px}.classSetAssignments .classSetAssignmentTopic>h3{margin:0;border:0;padding:0 3px;color:#694db4;font-size:12px;font-weight:900;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.classSetAssignmentTopicFolders{display:grid;gap:5px}.folderFirstSection{display:grid;gap:3px;overflow:hidden;border:1px solid var(--color-border);border-radius:15px;background:#ffffffb8}.folderExpandButton{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;border:0;border-radius:0;padding:9px 10px;background:#ddf8f1c7;text-align:left}.folderExpandButton small{color:var(--color-text-secondary)}.folderExpandedSets{display:grid;gap:3px;padding:7px 9px 9px 26px;background:#ffffffd1}.folderExpandedSets button{display:flex;align-items:center;gap:7px;padding:7px 9px;text-align:left}.folderExpandButton .libraryIcon,.folderExpandedSets .libraryIcon{width:24px;height:24px}.folderExpandedSets--checklist .classSetAssignmentItem>.classSetAssignmentRow{display:grid;grid-template-columns:18px 24px minmax(0,1fr);align-items:start;gap:7px;padding:5px 2px}.classSetAssignmentItem{display:grid;border-bottom:1px solid rgba(215,231,226,.72);padding-bottom:5px}.classSetAssignmentItem:last-child{border-bottom:0}.folderExpandedSets--checklist .moreVisibilityOptionsButton{justify-self:start;width:auto;margin:-1px 0 2px 49px;border:0;padding:2px 0;color:#694db4;background:transparent;box-shadow:none;font-size:11px;font-weight:750;text-decoration:underline;text-underline-offset:2px}.folderExpandedSets--checklist .moreVisibilityOptionsButton:hover:not(:disabled){color:#51388f;background:transparent;box-shadow:none}.classSetGroupAssignments{display:grid;gap:2px;margin-left:49px}.classSetGroupAssignments label{display:flex;align-items:center;gap:7px;padding:3px 2px;color:var(--color-forest);font-size:13px;font-weight:750}.classSetGroupAssignments label:before{content:"Group";order:2;border-radius:999px;padding:2px 6px;color:#5d4698;background:#a98ceb29;font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.classSetGroupAssignments label span{order:1}.setDataButton{min-height:40px;padding:8px 13px}.folderFirstPicker{display:grid;gap:7px;max-height:60vh;overflow-y:auto}.dataPickerDialog{width:min(980px,100%)}.dataPickerGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.dataPickerColumn{display:grid;align-content:start;gap:10px;min-width:0}.dataPickerColumn h3{margin:0;color:var(--color-forest);font-size:18px}.dataPickerStudentSelectBox{display:grid;border-color:#0f5b4824;border:1px solid rgba(15,91,72,.14);border-radius:16px;padding:14px;background:#fff}.dataPickerStudentSelectBox label{display:grid;gap:7px;color:var(--color-forest);font-weight:850}.dataPickerStudentSelectBox select{appearance:none;width:100%;min-width:0;min-height:48px;border:1px solid var(--color-border);border-radius:18px;padding:11px 46px 11px 14px;color:var(--color-text);background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,var(--color-forest) 50%),linear-gradient(135deg,var(--color-forest) 50%,transparent 50%),var(--gradient-card);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;box-shadow:0 2px #0f5b4814;cursor:pointer;font-weight:700;transition:border-color .16s ease,box-shadow .16s ease}.dataPickerStudentSelectBox select:hover{border-color:var(--color-primary-dark);box-shadow:var(--shadow-control)}.dataPickerStudentSelectBox select:focus{border-color:var(--color-primary-dark);outline:3px solid rgba(139,207,42,.22);outline-offset:2px}.dataCompletionView{display:grid;gap:16px}.completionTableWrap{max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:16px}.completionTable{width:100%;min-width:680px;border-collapse:collapse;background:#fff}.completionTable th,.completionTable td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:10px 12px}.completionTable thead th{color:var(--color-forest);background:#ddf8f1eb;text-align:center}.completionTable thead th:first-child,.completionTable tbody th[scope=row]{position:sticky;left:0;z-index:1;min-width:190px;background:#fff;text-align:left}.completionTable thead th:first-child{z-index:2;background:#ddf8f1}.completionClassRow th{padding:8px 12px;color:var(--color-forest);background:#7ed6d83d;text-align:left}.completionCell{min-width:115px;color:#56605d;background:#f5f6f6;text-align:center}.activityProgressPill{position:relative;z-index:0;display:inline-grid;align-items:center;justify-content:center;gap:2px;overflow:hidden;width:100%;min-width:105px;border-radius:999px;padding:8px 12px;background:#e0e4e2;font-size:12px;font-weight:850;white-space:nowrap;text-align:center}.activityProgressPill__title{display:inline-flex;align-items:center;justify-content:center;gap:5px}.activityProgressPill small{font-size:10px;font-weight:700;line-height:1.2}.activityProgressPill:before{position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--activity-progress);content:"";background:#929b98;animation:activityProgressFill 1.6s ease-out both}.activityProgressPill--done{color:#fff;background:#2f9b62}.activityProgressPill--done:before{display:none}.studentDataTable{min-width:900px}.studentAttemptHistory{display:grid;gap:10px;margin-top:22px}.studentAttemptHistoryHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.studentAttemptHistoryHeader h2{margin:0;color:var(--color-forest);font-size:20px}.studentAttemptHistoryHeader span{border-radius:999px;padding:5px 9px;color:#145c78;background:#69c7f53d;font-size:12px;font-weight:900;white-space:nowrap}.studentAttemptTable{min-width:960px}.studentAttemptTable td:last-child{min-width:300px;color:var(--color-text-secondary);line-height:1.35}.studentDataSetLink{display:inline-flex;align-items:center;gap:8px;width:100%;border:0;padding:0;color:var(--color-forest);text-align:left;background:transparent;box-shadow:none}.studentDataSetLink .libraryIcon{width:30px;height:30px;flex:0 0 auto}.studentDataSetLink span{min-width:0}.studentDataNotVisible{display:inline-grid;gap:2px;color:#7f8784;font-size:12px;text-align:center}.studentDataNotVisible strong{font-weight:800}.studentDataNotVisible small{font-size:11px;font-weight:400}@keyframes activityProgressFill{0%{width:0}to{width:var(--activity-progress)}}.classSetAssignments h3{margin:0;border-bottom:1px solid var(--color-border);padding:5px 2px;color:var(--color-forest);font-size:14px}.classSetAssignments label{display:flex;align-items:flex-start;gap:7px;padding:4px 2px;font-weight:650}.classSetAssignments label>span{display:grid;gap:1px;min-width:0}.classSetAssignments label small{color:#795bd1;font-size:11px;font-weight:750}.libraryColumnHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}.libraryColumnHeader h2{margin:0;font-size:20px;color:var(--color-forest)}.quickAddFolderButton{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:1.5px solid #a5adaa;border-radius:50%;background:transparent;color:#7c8582;line-height:1;box-shadow:none}.quickAddFolderButton:hover:not(:disabled){border-color:#77817e;background:#77817e14;color:#59625f}.uiIcon{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}.quickAddFolderButton .uiIcon{width:17px;height:17px}.libraryColumnTitle .recentActivityIcon{width:42px;height:42px;color:var(--color-forest);stroke-width:2.6}.libraryColumnHeader--sets{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-self:stretch;justify-self:stretch;width:100%}.libraryHeaderTopRow,.libraryHeaderSecondRow{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%}.libraryHeaderTopRow{display:grid;grid-template-columns:minmax(0,1fr) auto}.libraryHeaderTopRow .libraryColumnTitle{min-width:0}.libraryHeaderSecondRow{justify-content:flex-end}.libraryHeaderSecondRow .setSortControls,.libraryHeaderSecondRow .editFolderButton{flex:0 0 auto}.libraryHeaderTopRow h2,.libraryHeaderTopRow button,.libraryHeaderSecondRow button{white-space:nowrap}.libraryHeaderTopRow h2{overflow:hidden;text-overflow:ellipsis}.libraryColumnTitle,.libraryHeaderActions{display:flex;align-items:center;gap:10px}.setSortControls{position:relative;isolation:isolate;display:flex;align-items:center;gap:0;overflow:hidden;border:1px solid rgba(15,91,72,.18);border-radius:999px;padding:3px;background:#ddf8f1b8}.setSortControls:before{position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;content:"";background:var(--color-primary-dark);box-shadow:0 3px 8px #0f5b4833;transition:transform .18s ease}.setSortControls--date:before{transform:translate(100%)}.sortButton{min-width:86px;border:0;border-radius:999px;padding:6px 10px;color:var(--color-text-secondary);background:transparent;box-shadow:none;font-size:12px;white-space:nowrap;transition:color .18s ease}.sortButton--active{color:#fff;background:transparent}.editFolderButton{display:inline-flex;align-items:center;gap:6px}.editFolderButton .uiIcon{width:16px;height:16px}.libraryColumnTitle .libraryIcon{width:34px;height:34px}.folderEditForm{display:grid;gap:12px;border:2px solid rgba(121,91,209,.48);border-radius:18px;padding:14px;background:linear-gradient(180deg,#ebe2fff5,#ffffffeb);box-shadow:0 12px 26px #795bd124}.folderEditForm label{display:grid;gap:6px;font-weight:800}.folderEditForm input{width:100%;border:1px solid var(--color-border);border-radius:18px;padding:10px 12px;color:var(--color-text);background:#ffffffe0}.folderSetChecklist{display:grid;gap:8px}.folderSetChecklist>span{font-weight:800;color:var(--color-forest)}.folderSetChecklist>div{display:grid;gap:8px;max-height:260px;overflow-y:auto}.folderSetChecklist label{display:flex;align-items:center;gap:8px;border:1px solid rgba(15,91,72,.14);border-radius:16px;padding:8px 10px;background:#ffffff9e}.backToAllSetsButton{border-color:#0f5b4833;padding:8px 12px;color:var(--color-forest);font-size:14px;font-weight:800;background:#ffffffb3}.libraryItemLabel{display:flex;align-items:flex-start;gap:12px;min-width:0}.libraryItemLabel small{display:block;margin-top:4px;color:var(--color-text-secondary)}.libraryIcon{display:block;flex:0 0 auto;width:36px;height:36px;overflow:visible}.setIcon__paper{fill:#fff;stroke:var(--color-sky);stroke-width:3;stroke-linejoin:round}.setIcon__corner{fill:var(--color-card);stroke:var(--color-sky);stroke-width:3;stroke-linejoin:round}.setIcon__bullet{fill:var(--color-primary-dark)}.setIcon__line{fill:none;stroke:var(--color-primary-dark);stroke-width:3;stroke-linecap:round}.folderIcon__tab{fill:var(--color-gold);stroke:#dca53e;stroke-width:3;stroke-linejoin:round}.folderIcon__body{fill:#f1bd54;stroke:#dca53e;stroke-width:3;stroke-linejoin:round}.setRow,.folderRow{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border-color:#0f5b4824;padding:10px 14px;border-radius:18px;text-align:left;background:#ffffff94;box-shadow:none}.setRow:hover,.folderRow:hover{border-color:var(--color-primary-dark);background:#a8d85c29;box-shadow:none}.folderList{display:grid;gap:11px}.folderTopicSection{display:grid;gap:4px}.folderTopicSection>h3{margin:0;padding:0 4px;color:#694db4;font-size:12px;font-weight:900;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.folderTopicRows{display:grid;gap:4px}.libraryColumn--folders .folderRow{gap:8px;border-radius:13px;padding:6px 10px}.libraryColumn--folders .folderRow .libraryItemLabel{align-items:center;gap:8px}.libraryColumn--folders .folderRow .libraryIcon{width:29px;height:29px}.libraryColumn--folders .folderRow strong{font-size:14px;line-height:1.15}.libraryColumn--folders .folderRow small{margin-top:2px;font-size:11px;line-height:1.1}.showAllSetsButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;border-color:#0f5b482e;padding:12px 15px;color:var(--color-forest);background:#ffffffb8;font-size:15px;font-weight:850}.showAllSetsButton .uiIcon{width:20px;height:20px;stroke-width:2.4}.folderRow--active{border-color:var(--color-primary-dark);background:#a8d85c42}.setRow strong{display:block;font-size:15px;line-height:1.2;color:var(--color-forest)}.setList{gap:5px}.setRow{gap:9px;border-radius:13px;padding:6px 10px}.setRow .libraryIcon{width:30px;height:30px}.setRow .libraryItemLabel{gap:9px}.setRow .libraryItemLabel small{font-size:11px;line-height:1.2}.compactSetRowLabel{align-items:center;width:100%}.compactSetInfo{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;width:100%}.compactSetInfo strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libraryItemLabel .compactSetDescription,.libraryItemLabel .compactSetTermCount{margin:0}.compactSetDescription{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactSetTermCount{grid-column:3;justify-self:end;white-space:nowrap}.emptyText{margin:0;color:var(--color-text-secondary)}.linkButton{margin-bottom:8px;border:0;padding:0;color:var(--color-forest);background:transparent;box-shadow:none}.termRow{display:grid;grid-template-columns:42px 1fr 140px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--color-border)}.detailActions{display:grid;justify-items:end;gap:10px}.iconCloseSetButton{display:inline-grid;place-items:center;width:38px;height:38px;border-color:#0f5b482e;border-radius:999px;padding:0;color:var(--color-text-secondary);background:#ffffffbd;box-shadow:none}.iconCloseSetButton .uiIcon{width:20px;height:20px;stroke-width:2.6}.iconCloseSetButton:hover:not(:disabled){color:var(--color-forest);background:#ddf8f1eb;box-shadow:none}.gameActions,.setActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.setActions button{display:inline-flex;align-items:center;gap:6px}.gameButton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:18px;padding:10px 14px;border-color:transparent;color:#fff;cursor:pointer;font-weight:800;background:linear-gradient(180deg,var(--color-sky),var(--color-info));box-shadow:0 10px 20px #56b7d83d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.gameButton--flashcards{color:#4a3700;background:linear-gradient(180deg,#ffe486,var(--color-gold));box-shadow:0 10px 20px #bf8f1738}.gameButton--editable{cursor:pointer}.activityVisibilityDelayNote{justify-self:stretch;width:100%;margin:-2px 0 2px;color:#164f78;font-size:15px;font-weight:750;line-height:1.35;text-align:center}.gameButton--editable>input,.gameButtonEditableHeader>input{flex:0 0 auto;width:28px;height:28px;margin:0;accent-color:#ffffff}.gameButton--learn-options{display:grid;align-self:stretch;gap:8px;min-width:190px;padding:10px 12px 12px}.gameButton--learn-options>.gameButtonEditableHeader{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.gameButtonLearnOptions{display:grid;gap:3px;border-top:1px solid rgba(255,255,255,.42);padding-top:7px;text-align:left}.gameButton--learn-options .gameButtonLearnOptions>.gameButtonLearnOption{display:flex;align-items:flex-start;gap:6px;min-height:24px;cursor:pointer;font-size:12px;font-weight:750;line-height:1.2}.gameButtonLearnOption>input{margin-top:1px}.gameButtonLearnOptions input{width:16px!important;min-width:16px;height:16px;accent-color:#ffffff}.gameButtonLearnOptionText,.learnDisplayModeOptionText{display:grid;gap:2px}.gameButtonLearnOptionText small{max-width:190px;color:#123f5a;font-size:10px;font-weight:600;line-height:1.25}.gameButton .uiIcon{width:28px;height:28px;stroke-width:2.2}.gameButtonStatus{position:absolute;right:-4px;bottom:-4px;display:inline-grid;place-items:center;width:29px;height:29px;border:2px solid #ffffff;border-radius:999px;box-shadow:0 5px 12px #0f5b4838;font-size:14px;font-weight:1000;line-height:1;pointer-events:none}.gameButtonStatus .uiIcon{width:18px;height:18px;stroke-width:3}.gameButtonStatus--complete{color:#fff;background:var(--color-success)}.gameButtonStatus--started{color:#fff;background:#9aa4a1;letter-spacing:-.08em;padding-bottom:7px}.gameButton:hover{border-color:var(--color-forest);box-shadow:0 12px 22px #0f5b482e}.shareAssignmentButton,.shareCopyButton{border-color:transparent;color:#fff;font-weight:850;background:linear-gradient(180deg,var(--color-lavender),#795bd1);box-shadow:0 10px 20px #795bd138}.shareAssignmentButton{display:inline-flex;align-items:center;gap:6px}.activityButtonImageView{display:grid;gap:18px}.activityButtonImageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.activityButtonImageCard{display:grid;gap:12px;border:1px solid rgba(15,91,72,.14);border-radius:18px;padding:14px;background:#ffffff9e}.activityButtonImagePreview{display:grid;place-items:center;overflow:hidden;border-radius:14px;padding:10px;background:#fff}.activityButtonImagePreview img{display:block;width:100%;max-width:420px;height:auto}.activityButtonImageActions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.activityButtonImageActions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activityButtonDownload{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,91,72,.18);border-radius:18px;padding:10px 14px;color:var(--color-forest);background:var(--gradient-card);font-weight:850;text-decoration:none;box-shadow:0 2px #0f5b4814}.assignmentNotice{display:flex;align-items:center;gap:10px;margin:2px 0 18px;border:1px solid rgba(121,91,209,.24);border-radius:16px;padding:11px 14px;color:#58409d;background:#a98ceb1f}.assignmentNotice strong{white-space:nowrap}.shareDialogBackdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#08241f94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.shareDialog{display:grid;gap:18px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid rgba(15,91,72,.2);border-radius:24px;padding:clamp(20px,4vw,30px);background:var(--color-page);box-shadow:0 28px 75px #0f3a3159}.shareDialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.shareDialogHeader span{color:#795bd1;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.shareDialogHeader h2{margin:4px 0 0;color:var(--color-forest);font-size:clamp(24px,5vw,32px)}.shareDialogHeader button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border-radius:999px;font-size:25px}.shareDialog>p{margin:0;color:var(--color-text-secondary);line-height:1.5}.badgeScannerDialog{width:min(540px,100%)}.badgeScannerVideo{width:100%;aspect-ratio:4 / 3;border:3px solid var(--color-forest);border-radius:18px;background:#10231f;object-fit:cover}.badgeScannerStatus{display:grid;justify-items:center;gap:8px;border-radius:14px;padding:10px 12px;color:var(--color-forest)!important;background:#ddf8f1e6;font-weight:850}.badgeScannerError{border:1px solid rgba(217,92,92,.34);border-radius:14px;padding:10px 12px;color:#8f2f2f!important;background:#d95c5c21;font-weight:850}.shareActivityChooser{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;border:1px solid var(--color-border);border-radius:18px;padding:15px;background:#ddf8f180}.shareActivityChooser legend{padding:0 7px;color:var(--color-forest);font-weight:900}.shareActivityChooser label{display:flex;align-items:center;gap:9px;min-height:48px;border:1px solid var(--color-border);border-radius:14px;padding:10px 12px;background:#fff;cursor:pointer;font-weight:800}.shareActivityChooser input{width:19px;height:19px;accent-color:#795bd1}.shareLinkField{display:grid;gap:7px;color:var(--color-forest);font-weight:850}.shareLinkField input{width:100%;border:1px solid var(--color-border);border-radius:14px;padding:11px 12px;color:var(--color-text-secondary);background:#fff;font-size:13px}.shareDialog .shareDialogWarning{border-radius:12px;padding:10px 12px;color:#8f2f2f;background:#d95c5c21;font-weight:800}.shareDialog .shareCopyStatus{color:var(--color-primary-dark);font-weight:850}.shareVisibilityChooser{max-height:min(42vh,390px);overflow-y:auto}.shareVisibilitySection{display:grid;gap:4px;margin-top:8px;border-top:1px solid var(--color-border);padding-top:10px}.shareVisibilitySection>strong{color:var(--color-forest);font-size:.9rem}.shareVisibilityChooser .shareVisibilitySection>label{min-height:0;border:0;padding:4px 2px;background:transparent;font-weight:650}.teacherSetTools{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:18px;padding:4px 0 18px}.setEditorShell{display:grid;gap:14px;margin-top:18px;border:2px solid rgba(15,91,72,.22);border-radius:24px;padding:16px;background:linear-gradient(180deg,#ddf8f1a8,#ffffffe0);box-shadow:0 16px 34px #0f5b481a}.setEditorToolbar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(15,91,72,.2);border-radius:18px;padding:11px 13px;color:var(--color-forest);background:#fffffff5;box-shadow:0 8px 22px #0f5b4824;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.setEditorToolbar>strong{font-size:18px}.setEditorToolbar>div{display:flex;align-items:center;gap:10px}.saveAndHideButton{border-color:transparent;color:#fff;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-dark))}.closeEditorButton{border-color:#b3414159;color:#9c3535;background:#fff}.editPanel{display:grid;align-content:start;gap:14px}#edit-set-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}#edit-set-form>.formActions{grid-column:1 / -1}.showChineseTermOption{align-items:flex-start!important;border-radius:12px;padding:9px 10px;background:#ddf8f1a6}.showChineseTermOption>input{margin-top:2px}.showChineseTermOption>span{display:grid;gap:2px}.showChineseTermOption small{color:var(--color-text-secondary);font-weight:400;line-height:1.35}.setReleaseSchedule{display:grid;gap:7px;border:2px solid rgba(217,92,92,.48);border-radius:16px;padding:12px 13px;background:linear-gradient(180deg,#ffe1e7eb,#f46b6b21);box-shadow:0 8px 18px #d95c5c1f}.setReleaseSchedule>label{color:#8f2f46;font-size:15px;font-weight:900}.setReleaseScheduleTitle{color:#8f2f46;font-size:18px;font-weight:950;line-height:1.2}.setReleaseSchedule>small{color:#713844;font-weight:400;line-height:1.35}.setReleaseSchedule>button{justify-self:start;border:0;padding:4px 0;color:#9c3535;background:transparent;box-shadow:none;font-size:13px;font-weight:750}.shareReleaseActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.shareReleaseActions>button{padding:8px 11px;font-size:13px;font-weight:800}.shareReleaseActions>button:first-child:not(.shareReleaseSaveButton){border-color:#d95c5c47;color:#8f2f46;background:#ffffffb8}.shareReleaseActions>.shareReleaseSaveButton{border-color:transparent;color:#fff;background:linear-gradient(180deg,#ff8aa0,var(--color-coral))}.setEditorSection{--section-accent: var(--color-forest);--section-bg: rgba(255, 255, 255, .72);display:grid;gap:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--section-accent) 34%,white);border-left:8px solid var(--section-accent);border-radius:18px;padding:16px;background:linear-gradient(180deg,var(--section-bg),rgba(255,255,255,.92))}.setEditorSection h2{margin:0;color:var(--section-accent);font-size:19px}.setEditorSection label{color:var(--color-forest);font-weight:800}.setEditorSection--details{--section-accent: var(--color-forest);--section-bg: rgba(221, 248, 241, .84)}.setEditorSection--folders{--section-accent: #b7791f;--section-bg: rgba(246, 211, 101, .22)}.setEditorSection--games{--section-accent: #347ca0;--section-bg: rgba(105, 199, 245, .2)}.setEditorSection--visibility{--section-accent: #795bd1;--section-bg: rgba(169, 140, 235, .18)}.setEditorSection--terms{--section-accent: #bb4d4d;--section-bg: rgba(244, 107, 107, .14)}.setEditorSection .shareActivityChooser{border:0;padding:0;background:transparent}.setEditorSection .shareActivityChooser legend{padding:0;color:var(--section-accent)}.setEditorSection .shareActivityChooser label,.setEditorSection .folderCheckboxes label{border-color:color-mix(in srgb,var(--section-accent) 24%,white);background:#ffffffc2}.setEditorSection .shareActivityChooser input{accent-color:var(--section-accent)}.setEditorSection--folders .folderChooser>span{display:none}.folderChooser{display:grid;gap:10px;border:0;border-radius:0;padding:0;background:transparent}.folderChooser>span{font-weight:800;color:var(--color-forest)}.folderCheckboxes{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.folderCheckboxes label{display:flex;align-items:center;gap:6px;border:1px solid rgba(15,91,72,.16);border-radius:999px;padding:7px 10px;background:#ffffffa8;font-weight:700}.setEditorSection--folders .folderCheckboxes{gap:4px}.setEditorSection--folders .folderCheckboxes>label{min-height:0;border:0;border-radius:0;padding:4px 2px;background:transparent;font-weight:550}.termActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.termActions button{padding:7px 10px;font-size:14px}.dangerButton{border-color:#d95c5c61;color:#8f2f2f;background:linear-gradient(180deg,snow,#feecec)}.dangerButton:hover{border-color:var(--color-danger)}.termEditForm{grid-column:1 / -1}.termRow--photoDropActive{border-color:var(--color-primary-dark);background:#a8d85c33;box-shadow:inset 0 0 0 2px #0f5b482e}.termPhotoDropHint{align-self:center;color:var(--color-text-secondary);font-size:12px;font-weight:700}.termPhotoDropZone{display:grid;justify-items:center;gap:7px;border:2px dashed rgba(15,91,72,.34);border-radius:18px;padding:18px 14px;color:var(--color-text-secondary);background:#ffffffb8;text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.termPhotoDropZone--active{border-color:var(--color-primary-dark);background:#a8d85c38;transform:translateY(-1px)}.termPhotoDropZone>strong{color:var(--color-forest)}.termPhotoDropZone>span{font-size:13px}.termPhotoDropZone--inline{grid-template-columns:auto minmax(90px,1fr) auto;justify-items:start;align-items:center;gap:8px;margin-top:9px;padding:9px 10px;text-align:left}.termPhotoDropZone--inline>span{color:var(--color-text-secondary)}.termPhotoDropZone--inline .termPhotoSelectButton{justify-self:end;padding:6px 11px;font-size:12px}.termPhotoSelectButton{display:inline-flex!important;align-items:center;justify-content:center;width:auto;border:1px solid var(--color-primary-dark);border-radius:999px;padding:8px 14px;color:#fff;background:var(--color-primary-dark);cursor:pointer;font-weight:800}.termPhotoSelectButton input{display:none}.termEditImage{width:min(100%,220px);max-height:160px;object-fit:contain;border:1px solid var(--color-border);border-radius:16px;background:var(--color-page)}.speakButton{display:inline-grid;place-items:center;width:42px;height:42px;border-color:#0f5b4838;border-radius:999px;padding:0;color:var(--color-forest);background:linear-gradient(180deg,#ffffff,var(--color-card));font-size:16px;line-height:1}.speakButton:hover{color:#fff;background:var(--color-forest)}.termRow__text h2{margin:0;font-size:20px;line-height:1.2}.termRow__text p{margin:0;color:var(--color-text-secondary);line-height:1.45}.termDefinitionWithAudio{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.termRow__text{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,1.25fr);align-items:center;gap:20px;min-width:0}.inlineTermEditor{display:grid;grid-column:1 / -1;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) 140px;align-items:start;gap:14px}.inlineTermEditor>label{display:grid;gap:6px;color:var(--color-forest);font-weight:800}.inlineTermEditor input,.inlineTermEditor textarea{width:100%;border:1px solid var(--color-border);border-radius:14px;padding:10px 12px;color:var(--color-text);background:#fff}.inlineTermEditor textarea{min-height:88px;resize:vertical}.inlineTermEditor .termEditImage{grid-column:3;grid-row:1;width:140px;height:100px}.inlineTermEditor__tools{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.termRow img{width:140px;height:100px;object-fit:contain;border:1px solid var(--color-border);border-radius:16px;background:var(--color-page)}.spellCard,.spellComplete{display:grid;gap:18px}.definitionPrompt{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;border:1px solid var(--color-border);border-radius:18px;padding:16px;background:var(--color-card)}.definitionPrompt p{margin:0;font-size:22px;line-height:1.45;color:var(--color-text)}.spellImage{width:min(100%,320px);max-height:240px;justify-self:center;object-fit:contain;border:1px solid var(--color-border);border-radius:18px;background:var(--color-page)}.spellAnswerLabel{display:grid;gap:8px;font-weight:800}.spellAnswerLabel input{width:100%;border:1px solid var(--color-border);border-radius:18px;padding:13px 14px;font-size:22px}.spellingGameCard{gap:20px}.spellingAnswerLabel{gap:10px;color:var(--color-forest)}.spellingAnswerInputRow{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px}.spellingAnswerInputRow .speakButton{width:48px;height:48px}.spellingAnswerInputRow input{font-size:clamp(28px,6vw,46px);font-weight:850;text-align:center}.spellingSupportCard{display:grid;gap:14px;justify-items:center}.spellingDefinitionPrompt{width:100%}.spellingCorrection{display:grid;gap:10px;border:1px solid rgba(217,92,92,.2);border-radius:18px;padding:14px;background:#ffffffc7;text-align:center}.spellingCorrection strong{color:#8f2f2f}.spellingCorrectionLetters{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;min-height:58px;font-size:clamp(32px,8vw,54px);font-weight:950;line-height:1}.spellingCorrectionLetter{display:inline-grid;place-items:center;min-width:.78em;border-bottom:4px solid transparent;transition:color .42s ease,transform .42s ease,border-color .42s ease}.spellingCorrectionLetter--wrong{color:var(--color-danger);border-color:#d95c5c70}.spellingCorrectionLetter--missing{color:transparent;border-color:#795bd180;background:#a98ceb24}.spellingCorrectionLetter--fixed{color:var(--color-primary-dark);border-color:#69c05e80;transform:translateY(-3px)}.spellingCorrectionLetter--removed{color:transparent;border-color:transparent}.spellFeedback{display:grid;gap:4px;border-radius:8px;padding:12px 14px}.spellFeedback--correct{color:var(--color-forest);background:#69c05e33}.spellFeedback--incorrect{color:#8f2f2f;background:#d95c5c29}.spellComplete h2{margin:0;font-size:28px}.spellComplete p{margin:0;color:var(--color-text-secondary)}.flashcardSetup,.flashcardPlay{display:grid;gap:18px;perspective:1100px}.flashcardSetup fieldset{display:grid;gap:10px;margin:0;border:1px solid var(--color-border);border-radius:18px;padding:16px;background:var(--color-card)}.flashcardSetup legend{padding:0 6px;color:var(--color-forest);font-weight:900}.learnSetupPicker{background:#fff}.learnSetupOptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.learnSetupOption{display:grid!important;justify-items:center;gap:10px!important;min-height:176px;border:2px solid rgba(15,91,72,.16);border-radius:16px;padding:14px 10px;background:#f7fbfa;text-align:center;cursor:pointer}.learnSetupOption input{position:absolute;opacity:0;pointer-events:none}.learnSetupOption--selected{border-color:#3d7dd8;background:#dae8ffdb;box-shadow:0 10px 22px #3d7dd82e}.learnSetupOption__art{display:flex;align-items:center;justify-content:center;gap:8px;min-height:78px}.learnSetupOption__iconSlot{display:grid;place-items:center}.learnSetupIcon{width:70px;height:70px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.learnSetupIcon--scribble{color:#795bd1}.learnSetupIcon--picture{color:#2f9b62}.flashcardSetup label,.flashcardOption{display:flex;align-items:center;gap:8px;font-weight:800}.flashcardCard{display:grid;justify-items:center;gap:16px;min-height:300px;width:100%;border:2px solid rgba(15,91,72,.2);border-radius:22px;padding:28px;color:var(--color-text);background:var(--gradient-card);box-shadow:0 18px 32px #4aafb02e;text-align:center;transform-origin:center center;animation:flashcardFlipIn .42s ease-out both;will-change:transform,opacity}.flashcardCard:hover:not(:disabled){border-color:var(--color-forest)}.flashcardCard:disabled{cursor:default}.flashcardCard--exiting{pointer-events:none;animation:flashcardSlideAway .28s cubic-bezier(.35,.02,.6,1) both}.flashcardLabel{color:var(--color-text-secondary);font-size:14px;font-weight:900;text-transform:uppercase}.flashcardCard strong{max-width:760px;font-size:clamp(26px,4vw,42px);line-height:1.2}.flashcardImage{max-width:min(100%,360px);max-height:260px;object-fit:contain;border:1px solid var(--color-border);border-radius:18px;background:var(--color-page)}.flashcardControls,.flashcardRatingButtons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.flashcardRatingButton{display:inline-grid;place-items:center;width:78px;height:78px;border-radius:999px;border:2px solid transparent;color:#fff;box-shadow:0 12px 22px #4aafb02e}.flashcardRatingButton--up{background:#45b84d}.flashcardRatingButton--side{background:#f7c916}.flashcardRatingButton--down{background:#ef2334}.flashcardRatingButton:hover{border-color:var(--color-forest)}@keyframes flashcardFlipIn{0%{opacity:.35;transform:rotateX(-88deg) scale(.98)}to{opacity:1;transform:rotateX(0) scale(1)}}@keyframes flashcardSlideAway{0%{opacity:1;transform:translateZ(0) rotate(0)}to{opacity:0;transform:translate3d(-34%,52px,0) rotate(-8deg)}}@media(prefers-reduced-motion:reduce){.flashcardCard,.flashcardCard--exiting{animation:none}}.selfAssessReport{display:grid;gap:18px}.selfAssessReportGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.selfAssessReportColumn{display:grid;align-content:start;gap:10px;min-height:220px;border:2px solid transparent;border-radius:18px;padding:14px}.selfAssessReportColumn h3{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:18px}.selfAssessReportColumn .thumbIcon{width:34px;height:34px}.selfAssessReportRounds{display:grid;gap:12px}.selfAssessReportRound{display:grid;gap:7px}.selfAssessReportRound h4{margin:0;color:var(--color-forest);font-size:13px;font-weight:900;text-align:center}.selfAssessReportColumn ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.selfAssessReportColumn li{border-radius:10px;padding:8px 10px;background:#ffffffad;font-weight:800}.selfAssessReportColumn p{margin:0;color:var(--color-text-secondary);text-align:center}.selfAssessReportColumn--known{border-color:#45b84d57;background:#45b84d1f}.selfAssessReportColumn--almost{border-color:#f7c9167a;background:#f7c91629}.selfAssessReportColumn--missed{border-color:#ef233457;background:#ef23341a}.selfAssessPracticeActions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.selfAssessPracticeButton{display:inline-flex;align-items:center;gap:9px;border-color:#0f5b4824;color:var(--color-forest);background:#fff;box-shadow:0 10px 20px #0f5b4814;font-size:16px;font-weight:900}.selfAssessPracticeButton:hover:not(:disabled){border-color:#3d7dd8;background:#dae8ff75}.selfAssessPracticeButton>span{display:inline-flex;align-items:center;gap:2px}.selfAssessPracticeButton .thumbIcon{width:26px;height:26px}.selfAssessPracticeThumb--up{color:#45b84d}.selfAssessPracticeThumb--side{color:#f7c916}.selfAssessPracticeThumb--down{color:#ef2334}.learnPlay,.matchSetup,.matchComplete{display:grid;gap:18px}.learnPrompt{display:grid;justify-items:center;gap:16px;border:2px solid rgba(15,91,72,.2);border-radius:22px;padding:28px;background:var(--gradient-card);text-align:center}.learnPrompt strong{max-width:760px;font-size:clamp(25px,4vw,40px);line-height:1.2}.learnPromptTextWithAudio{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;text-align:center}.learnPromptTextWithAudio strong{min-width:0;max-width:min(100%,760px);overflow-wrap:anywhere}.learnChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learnChoice{display:flex;align-items:center;justify-content:center;gap:12px;min-height:92px;padding:18px;font-size:18px;font-weight:800;line-height:1.4;text-align:center}.learnChoice>span:last-child{min-width:0;max-width:calc(100% - 58px);overflow-wrap:anywhere}.learnChoiceSpeakButton{flex:0 0 auto;width:46px;height:46px;font-size:18px;pointer-events:auto}.learnChoice--correct,.learnChoice--correct:disabled{opacity:1;border-color:var(--color-success);color:var(--color-forest);background:#69c05e38}.learnChoice--incorrect,.learnChoice--incorrect:disabled{opacity:1;border-color:var(--color-danger);color:#8f2f2f;background:#d95c5c2e}.matchHeader{align-items:flex-start}.matchStats{display:grid;justify-items:end;gap:3px;color:var(--color-text-secondary)}.matchStats strong{color:var(--color-forest);font-size:clamp(28px,5vw,42px);font-variant-numeric:tabular-nums}.matchBoard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.matchCard{display:grid;align-content:center;gap:9px;min-height:132px;padding:16px;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;touch-action:manipulation}.matchCard--term{border-color:#56b7d873;background:linear-gradient(180deg,#ddf8f1fa,#d3f2ffe0)}.matchCard--definition{border-color:#a98ceb6b;background:linear-gradient(180deg,#f6f2fffa,#e5dcffd1)}.matchCard span{color:var(--color-text-secondary);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.matchCard--term span{color:#217c98}.matchCard--definition span{color:#795bd1}.matchCard strong{line-height:1.3}.matchCard:focus-visible{outline:4px solid var(--color-sky);outline-offset:3px}.matchCard--selected{border-color:var(--color-forest);background:#69c7f53d;box-shadow:0 10px 24px #0f5b4833;transform:translateY(-2px)}.matchCard--dragging{opacity:.68;transform:scale(.96)}.matchCard--incorrect,.matchCard--incorrect:disabled{opacity:1;border-color:var(--color-danger);background:#d95c5c2e;animation:matchShake .3s ease-in-out}.matchCard--matched{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92)}.matchFinalTime{color:var(--color-forest);font-size:clamp(42px,8vw,70px);font-variant-numeric:tabular-nums}.matchBestMessage{color:var(--color-primary-dark)!important;font-weight:900}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes matchShake{0%,to{transform:translate(0)}30%{transform:translate(-5px)}70%{transform:translate(5px)}}@media(max-width:900px){.matchBoard{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){button,.matchCard{transition:none}.matchCard--incorrect{animation:none}}.invasionGame{position:relative;display:grid;gap:16px;min-height:680px;overflow:hidden;border:1px solid rgba(103,255,223,.45);border-radius:24px;padding:22px;color:#eaffff;background:radial-gradient(circle at 16% 22%,rgba(155,76,255,.2),transparent 26%),radial-gradient(circle at 82% 12%,rgba(25,220,255,.17),transparent 30%),linear-gradient(180deg,#030618,#07142d 58%,#10193a);box-shadow:0 24px 60px #0204146b,inset 0 0 55px #42ecff0f}.invasionTopBar,.invasionHud{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px}.invasionTopBar h1{margin:0;color:#af5;font-size:clamp(30px,6vw,54px);letter-spacing:.1em;line-height:.95;text-shadow:0 0 10px rgba(170,255,85,.75),0 0 30px rgba(70,255,206,.3)}.invasionTitleTrail{border:0;padding:0;background:transparent}.invasionTitleTrail h1{font-size:26px;letter-spacing:0;line-height:1.15}.invasionTitleTrail .activityTitleTrail__item{color:#af5;text-shadow:0 0 10px rgba(170,255,85,.75),0 0 30px rgba(70,255,206,.3)}.invasionTitleTrail .activityTitleTrail__activity{color:#ff5ff2;text-shadow:0 0 10px rgba(255,95,242,.75),0 0 30px rgba(255,95,242,.28)}.invasionTitleTrail .activityTitleTrail__arrow{color:#7fb7ec;text-shadow:none}.invasionTopBar p{margin:7px 0 0;color:#87ddec;font-weight:800}.invasionBackButton{border-color:#5bf5ff73;color:#bffaff;background:#04142ee0;box-shadow:0 0 16px #41e5ff1f}.invasionBackButton:hover{border-color:#75f8ff;box-shadow:0 0 20px #41e5ff52}.invasionScore{display:grid;min-width:110px;justify-items:center;border:1px solid rgba(170,255,85,.48);border-radius:18px;padding:9px 16px;color:#95ffe1;background:#061b2db8}.invasionScore strong{color:#dfff62;font-size:28px;line-height:1}.invasionScore span,.invasionScore small{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.invasionSetup,.invasionComplete{position:relative;z-index:3;display:grid;justify-self:center;align-self:center;width:min(680px,100%);gap:20px;border:1px solid rgba(116,245,255,.42);border-radius:24px;padding:clamp(20px,5vw,38px);background:#040f28d6;box-shadow:0 0 38px #22d0ff21;text-align:center}.invasionSetup:before,.invasionComplete:before{content:"";position:absolute;inset:8px;z-index:-1;border:1px solid rgba(221,255,88,.15);border-radius:18px;pointer-events:none}.invasionSetupUfo{width:min(260px,70%);margin:-8px auto -12px;filter:drop-shadow(0 0 16px rgba(65,231,255,.45))}.invasionSetup p{margin:0;color:#b9dfe7;font-size:18px;line-height:1.55}.invasionSetup fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;border:0;padding:0}.invasionSetup legend{width:100%;margin-bottom:12px;color:#70f9ea;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.invasionMode{position:relative;cursor:pointer}.invasionMode input{position:absolute;opacity:0}.invasionMode span{display:grid;justify-items:center;gap:6px;min-height:118px;align-content:center;border:1px solid rgba(111,231,255,.32);border-radius:16px;padding:12px;background:#071e3cb8;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.invasionModeIcon{display:flex!important;align-items:center;justify-content:center;gap:2px;min-height:auto!important;border:0!important;padding:0!important;background:transparent!important}.invasionModeIcon svg{width:32px;height:42px;fill:currentColor;stroke:none}.invasionModeIcon--easy{color:#bfff82}.invasionModeIcon--medium{color:#78eaff}.invasionModeIcon--ultimate{color:#ff81f4}.invasionMode strong,.invasionDifficulty{letter-spacing:.07em;text-transform:uppercase}.invasionMode small{color:#8fbac5}.invasionMode input:focus-visible+span{outline:3px solid #6eeaff;outline-offset:3px}.invasionMode input:checked+span{border-color:#dfff61;color:#efffa1;background:#4e722052;box-shadow:0 0 22px #d2ff4b33;transform:translateY(-2px)}.invasionMode--ultimate input:checked+span{border-color:#ff5ff2;color:#ffbafa;background:#7d18764d;box-shadow:0 0 22px #ff52ef38}.invasionLaunchButton,.invasionAnswerForm button{border:1px solid #dfff61;color:#071421;background:linear-gradient(180deg,#eaff79,#82ed42);box-shadow:0 0 22px #aeff4659;font-weight:1000;letter-spacing:.07em}.invasionLaunchButton:hover,.invasionAnswerForm button:hover{border-color:#fff;box-shadow:0 0 30px #aeff4694}.invasionHud{justify-content:center;flex-wrap:wrap;color:#a6dce5;font-size:13px;font-weight:850}.invasionHud>span,.invasionReadToggle{border:1px solid rgba(91,231,255,.24);border-radius:999px;padding:6px 11px;background:#061930c7}.invasionReadToggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#a6dce5;text-transform:none}.invasionReadToggle input{appearance:none;position:relative;width:36px!important;min-width:36px;height:20px!important;border:1px solid rgba(120,234,255,.54);border-radius:999px;background:#020d22f0}.invasionReadToggle input:before{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;content:"";background:#78eaff;transition:transform .16s ease,background .16s ease}.invasionReadToggle input:checked{border-color:#dfff61;background:#7d9a1c6b}.invasionReadToggle input:checked:before{transform:translate(16px);background:#dfff61}.invasionDifficulty--easy{color:#bfff82}.invasionDifficulty--medium{color:#78eaff}.invasionDifficulty--ultimate{color:#ff81f4}.invasionArena{position:relative;min-height:410px;overflow:hidden;border:1px solid rgba(94,225,255,.28);border-radius:22px;background:radial-gradient(circle at 20% 13%,#ffffff 0 1px,transparent 2px),radial-gradient(circle at 74% 24%,#9cfaff 0 1px,transparent 2px),radial-gradient(circle at 42% 61%,#ffffff 0 1px,transparent 2px),radial-gradient(circle at 90% 74%,#ddff68 0 1px,transparent 2px),linear-gradient(180deg,#000210f0,#081234e6);background-size:137px 137px,173px 173px,211px 211px,257px 257px,auto;box-shadow:inset 0 0 40px #3dd7ff12}.invasionStars{position:absolute;inset:0;opacity:.75;background-image:radial-gradient(circle,#ffffff 0 1px,transparent 1.5px),radial-gradient(circle,#7deaff 0 1px,transparent 1.5px);background-position:0 0,37px 53px;background-size:89px 97px,113px 127px;animation:invasionStarsDrift 12s linear infinite}.invasionSaucer{position:absolute;z-index:2;top:2%;left:50%;display:grid;justify-items:center;width:min(520px,88%);transform:translate(-50%);filter:drop-shadow(0 0 18px rgba(73,234,255,.25))}.invasionDefinition{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;border:1px solid rgba(103,244,255,.65);border-radius:14px;padding:9px 15px;color:#efffff;background:#04122df0;box-shadow:0 0 18px #40dbff33;font-size:clamp(14px,2.6vw,19px);font-weight:850;line-height:1.3;text-align:center}.invasionDefinition--withImage{justify-content:flex-start;text-align:left}.invasionDefinition span{min-width:0;overflow-wrap:anywhere}.invasionTermImage{flex:0 0 auto;width:min(96px,28vw);max-height:72px;object-fit:contain;border:2px solid rgba(223,255,97,.55);border-radius:16px;background:#fffffff0;box-shadow:0 0 18px #dfff612e}.invasionUfoIcon{width:min(240px,68%);margin-top:-2px}.invasionExplosion{position:absolute;top:38%;color:#fff687;font-size:130px;line-height:1;text-shadow:0 0 12px #ffffff,0 0 25px #ffeb36,0 0 50px #ff4f18;animation:invasionExplode .42s ease-out forwards}.invasionArena--impact{box-shadow:inset 0 -20px 55px #ff405838}.invasionGround{position:absolute;inset:auto 0 0;height:46px;border-top:3px solid #ff5ff2;color:#ff9af7;background:repeating-linear-gradient(90deg,#ff3ce233 0 12px,#140e37b8 12px 24px);box-shadow:0 -5px 20px #ff3de359;font-size:10px;font-weight:900;letter-spacing:.14em;text-align:center}.invasionGround span{display:inline-block;padding:5px 12px;background:#161039}.invasionAnswerForm{position:relative;z-index:4;display:grid;gap:7px;width:min(720px,100%);justify-self:center}.invasionAnswerForm label{color:#74f7e8;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.invasionAnswerForm>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.invasionAnswerForm input{min-width:0;border:2px solid #51dff5;border-radius:16px;padding:13px 16px;color:#efffff;background:#020d22f0;box-shadow:inset 0 0 18px #42dcff14,0 0 18px #38daff1f;font-size:20px;outline:none}.invasionAnswerForm input:focus{border-color:#dfff61;box-shadow:0 0 24px #bfff4347}.invasionAnswerForm button{min-width:100px}.invasionAnswerPopupBackdrop{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;background:#01061494;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.invasionAnswerPopup{display:grid;justify-items:center;gap:12px;width:min(440px,100%);border:2px solid #dfff61;border-radius:24px;padding:clamp(18px,5vw,30px);color:#eaffff;background:#040f28f5;box-shadow:0 0 36px #dfff613d,0 22px 60px #00000059;text-align:center}.invasionAnswerPopup>span{color:#78eaff;font-size:12px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.invasionAnswerPopup h2{margin:0;color:#dfff61;font-size:clamp(34px,8vw,58px);line-height:1;text-shadow:0 0 18px rgba(223,255,97,.32)}.invasionAnswerTitleRow{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%}.invasionPopupSpeakButton{display:inline-grid;place-items:center;flex:0 0 auto;width:50px;height:50px;border:2px solid rgba(120,234,255,.54);border-radius:50% 50% 50% 14px;padding:0;color:#071421;background:linear-gradient(180deg,#dffcff,#78eaff);box-shadow:0 0 20px #78eaff3d;font-size:19px}.invasionAnswerPopup p{margin:0;color:#b9dfe7;font-size:18px;line-height:1.4}.invasionAnswerPopup img{width:min(100%,260px);max-height:190px;object-fit:contain;border:2px solid rgba(120,234,255,.42);border-radius:18px;background:#fffffff5}.invasionComplete>span{color:#7ff9ea;font-weight:900;letter-spacing:.16em}.invasionComplete h2{margin:0;color:#dfff61;font-size:clamp(30px,6vw,48px);text-shadow:0 0 20px rgba(195,255,70,.38)}.invasionReportGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.invasionReportGrid div{display:grid;gap:4px;border:1px solid rgba(104,227,255,.27);border-radius:15px;padding:13px 8px;background:#071e3ba6}.invasionReportGrid strong{color:#bfff77;font-size:23px}.invasionReportGrid span{color:#8fc3cd;font-size:10px;font-weight:900;text-transform:uppercase}.invasionSeenCount{justify-self:end;color:#91d2dca8;font-size:11px}@keyframes invasionStarsDrift{0%{transform:translateY(-30px)}to{transform:translateY(30px)}}@keyframes invasionExplode{0%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1.25) rotate(35deg)}to{opacity:0;transform:scale(1.8) rotate(70deg)}}@media(max-width:700px){.invasionGame{min-height:620px;border-radius:18px;padding:15px}.invasionTopBar{align-items:stretch;flex-direction:column}.invasionTopBar .gameTitleBlock{align-items:stretch}.invasionTopBar .gameHeaderActions{justify-content:flex-end}.invasionTopBar .gameHeaderActions .invasionScore{margin-top:0}.invasionScore{align-self:end;margin-top:-62px}.invasionSetup fieldset{grid-template-columns:1fr}.invasionMode span{min-height:92px}.invasionArena{min-height:360px}.invasionSaucer{width:94%}.invasionAnswerForm>div{grid-template-columns:1fr}.invasionAnswerForm button{min-height:48px}.invasionReportGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.invasionStars,.invasionExplosion{animation:none}}.thumbIcon{width:46px;height:46px}.thumbIcon__cuff,.thumbIcon__hand{fill:currentColor}.thumbIcon__finger{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round}.dataView{display:grid;gap:22px}.dataGrid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:22px}.dataColumn{display:grid;align-content:start;gap:12px}.dataColumn h2{margin:0;font-size:20px;color:var(--color-forest)}.dataList,.activityTable{display:grid;gap:8px}.dataClassGroup{display:grid;gap:8px;border-top:1px solid rgba(15,91,72,.12);padding-top:10px}.dataClassGroup:first-child{border-top:0;padding-top:0}.dataClassGroup h3{margin:0;color:var(--color-forest);font-size:15px}.dataRow{display:grid;gap:4px;width:100%;border-color:#0f5b4824;padding:10px 14px;border-radius:18px;text-align:left;background:#ffffff94;box-shadow:none}.dataRow:hover,.dataRow--active{border-color:var(--color-coral);background:#f46b6b1f;box-shadow:none}.dataRow small{color:var(--color-text-secondary)}.activityDetails{grid-column:1 / -1;color:var(--color-text-secondary)}.activityRow{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) 60px;gap:10px;align-items:center;border-bottom:1px solid var(--color-border);padding:10px 0}.activityRow span{color:var(--color-text-secondary)}.formStack label{display:grid;gap:6px;font-weight:700}.formStack input,.formStack select,.formStack textarea{width:100%;border:1px solid var(--color-border);border-radius:18px;padding:10px 12px;color:var(--color-text);background:#ffffffe0}input[type=checkbox]{flex:0 0 auto;width:18px!important;min-width:18px;height:18px;margin:0;border-radius:4px;padding:0!important}label:has(>input[type=checkbox]){display:flex;grid-template-columns:none;align-items:center;justify-content:flex-start;gap:7px;text-align:left}label:has(>input[type=checkbox])>span{flex:0 1 auto;min-width:0}.formStack h2,.classRoster h2{margin:0;font-size:20px}.helpText{margin:0;color:var(--color-text-secondary);line-height:1.4}.teacherGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-bottom:24px}.managementToolCard{align-content:start;border:1px solid rgba(15,91,72,.16);border-radius:20px;padding:18px;background:#ffffffc7;box-shadow:0 8px 22px #0f5b4812}.managementToolCard>h2{display:flex;align-items:center;gap:9px}.managementToolCard>h2 .uiIcon{width:23px;height:23px;color:var(--color-forest);stroke-width:1.9}.inlineForm{display:grid;grid-template-columns:1fr auto;gap:8px}.inlineForm input{width:100%;border:1px solid var(--color-border);border-radius:18px;padding:10px 12px}.studentChecklist{display:grid;gap:8px;max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:18px;padding:12px;background:#ffffff8f}.studentChecklist label{display:flex;align-items:center;gap:8px;font-weight:600}.classRoster{display:grid;gap:12px;border-top:1px solid var(--color-border);padding-top:18px}.classSection{display:grid;gap:8px}.classSection h3{margin:0;border-radius:16px;padding:8px 10px;color:var(--color-forest);background:linear-gradient(180deg,#ddf8f1eb,#7ed6d84d)}.classSection h3{display:flex;align-items:center;justify-content:space-between;gap:1rem}.studentCount{padding:.25rem .65rem;border-radius:999px;background:#4183c41f;color:var(--ink-muted);font-size:.8rem;font-weight:700;white-space:nowrap}.setActivityChooser{margin:0;gap:3px;padding:10px 12px}.setActivityChooser>label{min-height:0;border:0;border-radius:0;padding:4px 2px;background:transparent;font-weight:700}.activityVisibilityDelay{display:grid;gap:5px;margin:1px 0 7px 25px;border-left:3px solid rgba(240,119,151,.5);border-radius:0 12px 12px 0;padding:8px 10px;background:#ff8aa014}.setEditorSection .activityVisibilityDelay>label{display:grid;gap:5px;border:0;padding:0;background:transparent;color:#9f3f62;font-size:12px;font-weight:800}.activityVisibilityDelay input{width:100%;border:1px solid rgba(159,63,98,.24);border-radius:10px;padding:7px 9px;color:var(--color-text);background:#fff}.activityVisibilityDelay small{color:var(--color-text-secondary);font-size:11px;font-weight:400;line-height:1.35}.activityVisibilityDelay button{justify-self:start;border:0;padding:2px 0;color:#9f3f62;background:transparent;box-shadow:none;font-size:11px;text-decoration:underline;text-underline-offset:2px}.learnDisplayModeSettings{display:grid;gap:4px;margin:2px 0 7px 25px;border-left:3px solid rgba(169,140,235,.45);border-radius:0 12px 12px 0;padding:8px 10px;background:#a98ceb17}.learnDisplayModeSettings>strong{color:#5d4698;font-size:14px}.learnDisplayModeSettings>small{margin-bottom:3px;color:var(--color-text-secondary);line-height:1.35}.setEditorSection .learnDisplayModeSettings>label{display:flex;align-items:flex-start;gap:7px;min-height:0;border:0;padding:4px 2px;background:transparent;font-weight:700}.learnDisplayModeSettings>label>input{margin-top:1px}.learnDisplayModeOptionText small{color:var(--color-text-secondary);font-size:12px;font-weight:550;line-height:1.3}.learnAutoStartStatus{margin:0;color:var(--color-forest);font-weight:850;text-align:center}.setVisibilityChooser{grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px}.classVisibilityColumn{display:grid;align-content:start;grid-template-columns:minmax(0,1fr);gap:2px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:7px 0;background:transparent}.classVisibilityColumn>strong{margin-bottom:5px;padding:0 2px 2px;color:var(--color-forest);font-size:17px;font-weight:900;line-height:1.25}.setEditorSection .setVisibilityChooser>:not(legend){margin-left:18px}.classVisibilityColumn>label{min-height:0}.classVisibilityColumn>small{color:var(--color-text-secondary)}.setVisibilityChooser>label,.setVisibilityChooser .classVisibilityColumn>label{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-height:0;border:0;border-radius:0;padding:4px 2px;background:transparent;font-weight:550}.setVisibilityChooser .classVisibilityColumn>.groupVisibilityOption{margin-left:25px}.setVisibilityChooser input{flex:0 0 auto;margin:0}.fieldHelp{margin:-.35rem 0 0;color:var(--ink-muted);font-size:.85rem;line-height:1.4}.fieldHelp--warning{color:#a5471d}.passwordVisibilityToggle{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem}.passwordVisibilityToggle input{width:auto}.rosterRows{display:grid}.rosterRow{display:grid;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.rosterRowSummary{display:grid;grid-template-columns:28px minmax(130px,1fr) minmax(100px,auto) 54px minmax(120px,auto) auto auto auto;align-items:center;gap:12px}.studentDragHandle{color:var(--color-text-secondary);cursor:grab;-webkit-user-select:none;user-select:none}.studentDragHandle .uiIcon{width:22px;height:22px}.studentSortOrder{justify-self:end;font-variant-numeric:tabular-nums;font-weight:800}.badgeStatus{justify-self:start;border:1px solid var(--color-border);border-radius:999px;padding:5px 9px;color:var(--color-text-secondary);background:#ffffffba;font-size:12px;font-weight:900;white-space:nowrap}.badgeStatus--enabled{border-color:#4c8a1e47;color:var(--color-primary-dark);background:#a8d85c2e}.rosterRowSummary .badgeStatus--enabled{color:var(--color-primary-dark)}.rosterRowSummary button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.rosterRow[draggable=true]{cursor:grab}.rosterRow--dragging{opacity:.45}.rosterRowSummary span{color:var(--color-text-secondary)}.studentChineseTermPreference{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;justify-self:start;gap:8px;margin-left:40px;color:var(--color-text)}.studentChineseTermPreference input{width:auto;margin-top:2px}.studentChineseTermPreference>span{display:grid;gap:1px}.studentChineseTermPreference strong{font-size:13px}.studentChineseTermPreference small{color:var(--color-text-secondary);font-size:11px;font-weight:400}.studentEditForm{display:grid;gap:12px;border:1px solid rgba(15,91,72,.18);border-radius:18px;padding:14px;background:#ffffff9e}.studentEditForm label{display:grid;gap:6px;color:var(--color-text);font-weight:800}.studentEditForm input{width:100%;border:1px solid var(--color-border);border-radius:18px;padding:10px 12px;color:var(--color-text);background:#ffffffe6}.studentEditForm .studentChineseTermOverride{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;border:1px solid rgba(105,77,180,.2);border-radius:14px;padding:10px 12px;background:#a98ceb14}.studentEditForm .studentChineseTermOverride input{width:auto;margin-top:2px;padding:0}.studentChineseTermOverride>span{display:grid;gap:2px}.studentChineseTermOverride small{color:var(--color-text-secondary);font-size:12px;font-weight:400;line-height:1.35}.formStack textarea{min-height:96px;resize:vertical}.formActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.formActions button[type=submit],.headerButton--primary{border-color:transparent;color:#fff;background:var(--gradient-brand);box-shadow:0 10px 20px #4c8a1e38}.formActions button[type=submit]:hover,.headerButton--primary:hover{border-color:transparent;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-dark))}.studentGoButton{min-width:112px;border-color:transparent;color:#fff;background:linear-gradient(180deg,#47b86a,#23844a);box-shadow:0 10px 20px #23844a3d;font-size:18px;font-weight:1000}.studentGoButton:hover{border-color:transparent;background:linear-gradient(180deg,#55c778,#1f7642)}.dropZone{display:grid;justify-items:center;gap:8px;border:2px dashed rgba(15,91,72,.35);border-radius:22px;padding:28px 18px;text-align:center;color:var(--color-text-secondary);background:linear-gradient(180deg,#ffffffd1,#ddf8f1db);transition:border-color .16s ease,background .16s ease}.dropZone--active{border-color:var(--color-primary-dark);background:#a8d85c38}.dropZone strong{font-size:18px;color:var(--color-forest)}.dropZone span{font-size:14px}.folderPicker{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;border:1px solid transparent;border-radius:18px;padding:9px 12px;color:#fff;background:var(--gradient-brand);cursor:pointer;box-shadow:0 10px 20px #4c8a1e38}.folderPicker input{display:none}.manualUpload{border-top:1px solid var(--color-border);padding-top:10px}.manualUpload summary{width:max-content;cursor:pointer;font-weight:700;color:var(--color-forest)}.manualUpload label{margin-top:12px}.uploadSummary{display:flex;gap:8px;flex-wrap:wrap}.uploadSummary span{border:1px solid var(--color-border);border-radius:999px;padding:6px 10px;font-size:13px;color:var(--color-text-secondary);background:#ffffffb8}.previewTable{border:1px solid var(--color-border);border-radius:18px;overflow:hidden;background:#ffffff94}.previewRow{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr) minmax(120px,.8fr);gap:12px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.previewRow:last-child{border-bottom:0}.previewRow span,.previewRow small{color:var(--color-text-secondary)}@media(max-width:700px){.appShell{padding:14px}.topBar,.sectionHeader,.setRow{align-items:stretch;flex-direction:column}.setEditorToolbar,.setEditorToolbar>div{align-items:stretch;flex-direction:column}.setEditorToolbar button{width:100%}.termPhotoDropZone--inline{grid-template-columns:1fr;justify-items:stretch}.termPhotoDropZone--inline .termPhotoSelectButton{justify-self:stretch}.termRow__text,.inlineTermEditor,.inlineTermEditor__tools{grid-template-columns:1fr}.inlineTermEditor .termEditImage,.inlineTermEditor__tools{grid-column:1;grid-row:auto}.libraryColumnHeader,.libraryHeaderActions{align-items:stretch;flex-direction:column}.topBar__actions{justify-content:stretch}.brandButton{justify-content:center;font-size:32px}.brandBlock{justify-items:center}.userGreeting{margin-left:0;text-align:center}.brandButton img{width:52px;height:52px}.topBar__primaryActions{display:grid;grid-template-columns:1fr}.topBar__actions button,.formActions button{flex:1}.settingsMenu{display:grid}.gearButton{justify-self:stretch;width:100%}.settingsMenu__panel{position:static;margin-top:8px}.teacherGrid,.libraryGrid,.studentFolderGrid,.dataGrid,.dataPickerGrid,.teacherSetTools,.inlineForm,#edit-set-form,.recentActivityContentGrid,.recentlyCreatedSetList{grid-template-columns:1fr}.rosterRowSummary{grid-template-columns:1fr;align-items:stretch}.activityRow{grid-template-columns:1fr;gap:4px}.detailActions{align-items:stretch;justify-items:stretch}.gameActions,.setActions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.gameActions{grid-template-columns:1fr}.assignmentNotice{align-items:flex-start;flex-direction:column}.shareActivityChooser,.learnSetupOptions,.selfAssessReportGrid,.termRow,.previewRow{grid-template-columns:1fr}.definitionPrompt{grid-template-columns:38px 1fr}.definitionPrompt p,.spellAnswerLabel input{font-size:19px}.learnChoices,.matchBoard{grid-template-columns:repeat(2,minmax(0,1fr))}.matchHeader,.matchStats{justify-items:stretch}.matchCard{min-height:112px;padding:13px}.speakButton{width:38px;height:38px}.termDefinitionWithAudio{grid-template-columns:38px minmax(0,1fr)}.termRow img{width:100%;height:180px}}@media(max-width:390px){.matchBoard{grid-template-columns:1fr}}
