.island-screen{min-height:100dvh;display:flex;flex-direction:column;background:#e9f4f8;color:#082a52;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;--bar:60px}.island-canvas-wrap{flex:1;min-height:calc(100dvh - var(--bar));display:flex;align-items:center;justify-content:center;background:#d8edf5}.island-canvas{width:min(100vw,calc((100dvh - var(--bar))*1672/940));aspect-ratio:1672/940;container-type:inline-size;position:relative;isolation:isolate;overflow:hidden;background:url(/images/growth-island-v2.png) 50%/100% 100% no-repeat;font-weight:750}.island-canvas h1,.island-canvas h2,.island-canvas ol,.island-canvas p{margin:0}.island-canvas ol{list-style:none;padding:0}.island-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,#ffffff28 47%,transparent 59%);background-size:240% 100%;animation:island-water 18s linear infinite;pointer-events:none}.island-title{position:absolute;top:4.2%;left:30%;width:42%;text-align:center}.island-title h1{font-size:4.1cqw;line-height:1.3;font-weight:900;letter-spacing:.03em;white-space:nowrap}.island-title h1 span{margin:0 .25cqw}.island-title svg{display:inline-block;width:2.4cqw;height:2.4cqw;color:#3f862f;margin-left:.8cqw;vertical-align:top}.island-title p{font-size:2cqw;margin-top:.45cqw;letter-spacing:.14em}.island-top-status{position:absolute;right:2.8%;top:3.2%;background:#f4fcfff0;padding:.4cqw 1.1cqw;border-radius:2cqw;font-size:1.2cqw;color:#204764;font-weight:650}.island-weekly{position:absolute;left:4.2%;top:11.2%;width:24%;height:42.9%}.island-weekly h2{position:absolute;top:1%;left:1%;font-size:2.4cqw;color:#fff;font-weight:850;text-shadow:0 .08cqw .15cqw #005d7680}.island-week-date{position:absolute;right:0;top:5%;font-size:1.3cqw;color:#fff}.island-weekly ol{position:absolute;left:0;top:18%;width:100%;height:80%}.island-weekly li{height:20%;position:absolute;top:0;left:0;width:100%;display:flex;gap:1.6cqw;align-items:center;padding:0 .55cqw;border-bottom:1px solid #c5bcaa88;transition:transform .5s ease;font-size:2.05cqw}.island-weekly li:last-child{border:0}.island-weekly strong{flex:1;min-width:0;white-space:nowrap}.island-weekly b{font-size:2.1cqw;font-variant-numeric:tabular-nums}.island-rank{display:flex;width:2.65cqw;height:2.65cqw;flex:none;border-radius:50%;align-items:center;justify-content:center;background:#d8e6ec;color:#224a65;border:2px solid #b7cdd7;font-size:1.85cqw;box-shadow:inset 0 .1cqw .1cqw #fff}.rank-1{background:#ecb940;border-color:#d79e1c;color:#fff}.rank-2{background:#a9c5d4;color:#fff;border-color:#84a8bd}.rank-3{background:#c58e60;color:#fff;border-color:#ad7245}.island-homework{position:absolute;left:79.5%;top:15.4%;width:16.5%;height:25.4%}.island-exams h2,.island-homework h2{font-size:2.05cqw;color:#fff;font-weight:850;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}.island-homework h2 svg{width:2cqw;height:2cqw;color:#cbe46a}.island-homework ol{margin-top:1.5cqw}.island-homework li{height:3.7cqw;border-bottom:1px solid #c7bba580;display:flex;align-items:center;gap:1.2cqw;font-size:1.9cqw}.island-homework li:last-child{border:0}.island-homework li svg{width:1.35cqw;height:1.35cqw;color:#088d99}.island-homework strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.island-exams{position:absolute;left:79.9%;top:45.8%;width:16%;height:23.3%}.island-exams h2{font-size:1.85cqw}.island-exams h2 span{font-size:1.05cqw;color:#17415d;background:#eafafd;border-radius:2cqw;padding:.2cqw .8cqw;max-width:45%;overflow:hidden;text-overflow:ellipsis}.island-exams ol{margin-top:1.3cqw}.island-exams li{display:flex;align-items:center;gap:.5cqw;font-size:1.75cqw;height:3.15cqw;border-bottom:1px solid #c7bba577}.island-exams li:last-child{border:0}.island-exams li strong{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.island-exams li small{color:#54768b;font-size:1.15cqw;min-width:1.2cqw}.island-exams li b{font-variant-numeric:tabular-nums}.island-board-empty{position:absolute;inset:35% 0 auto;text-align:center;font-size:1.7cqw;line-height:1.9;color:#345c72}.island-weekly .island-board-empty{top:43%;font-size:2cqw}.island-board-meta{position:absolute;top:100%;left:0;right:0;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:.88cqw;background:#fbffffdb;border-radius:.35cqw;padding:.15cqw .4cqw;color:#285369}.island-spotlight{position:absolute;top:34.3%;left:35.7%;width:30.4%;height:17.4%;text-align:center}.island-spotlight p{font-size:1.65cqw}.island-spotlight h2{font-size:5.5cqw;line-height:1.45;font-weight:900;letter-spacing:.08em;white-space:nowrap;animation:island-arrive .4s ease-out}.island-spotlight h2.is-long{font-size:3.4cqw;line-height:2.25}.island-praise-tag{position:absolute;left:40.1%;top:54.3%;width:21.9%;height:6.3%;display:flex;align-items:center;justify-content:center;gap:1cqw;color:white;font-size:2.55cqw;font-weight:850;text-shadow:0 .1cqw .1cqw #007e86;white-space:nowrap;animation:island-arrive .35s ease-out}.island-praise-tag b{font-size:3.25cqw}.island-praise-reason{position:absolute;top:62.9%;left:38.2%;width:25.8%;height:5.8%;font-size:1.2cqw;line-height:1.35;text-align:center;display:flex;align-items:center;justify-content:center;overflow:hidden;overflow-wrap:anywhere}.island-praise-reason.is-long{font-size:1.05cqw}.island-goal{position:absolute;left:6.6%;top:83.5%;height:8.8%;width:86%;gap:1.5cqw}.island-goal,.island-goal h2{display:flex;align-items:center}.island-goal h2{width:25%;flex:none;gap:1cqw;font-size:2.1cqw;white-space:nowrap}.island-goal h2 svg{width:3.5cqw;height:3.5cqw}.island-goal>p{width:25%;font-size:1.55cqw;line-height:1.6;padding-left:1.2cqw;border-left:1px solid #b7bdc2}.island-progress-area{flex:1;min-width:0;padding-top:1.25cqw}.island-progress{height:2.3cqw;background:#d4e1e7;border:.13cqw solid #bdc7c9;border-radius:3cqw;overflow:hidden;box-shadow:inset 0 .1cqw .2cqw #57728122}.island-progress i{height:100%;display:block;background:linear-gradient(180deg,#16bec6,#079aa8);border-radius:inherit;transition:width .65s ease}.island-progress-area small{font-size:.92cqw;display:block;text-align:center;margin-top:.4cqw;color:#4e6472}.island-goal>strong{font-size:3.7cqw;white-space:nowrap;margin-left:.4cqw;font-variant-numeric:tabular-nums}.island-goal>strong span{font-size:2.5cqw}.island-toolbar{min-height:var(--bar);padding:8px 16px;display:flex;gap:15px;align-items:center;justify-content:space-between;background:#f8fcfe;color:#2b576e;border-top:1px solid #c7e0e9;font-size:13px}.island-connection{display:flex;flex-direction:column;gap:2px;max-width:32%}.island-connection small{font-size:12px;color:#6a8290}.island-controls{display:flex;gap:4px;align-items:center}.island-controls button{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;white-space:nowrap}.island-controls button:hover,.island-controls button[aria-pressed=true]{background:#dff0f6;color:#046f88}.island-screen.is-compact{--bar:40px}.island-screen.is-compact .island-toolbar{padding:3px 14px}.island-screen.is-frozen *,.island-screen.is-quiet *{animation:none!important;transition:none!important}.island-warning{position:absolute;left:35%;right:30%;bottom:.2%;text-align:center;font-size:1cqw;color:#7a4d09;background:#fff5dfe8;border-radius:.3cqw}.island-connection.is-warning{color:#99661f}.island-loading{display:flex;flex-direction:column;align-items:center;gap:16px;min-height:60vh;justify-content:center}.island-loading h1{font-size:24px}.island-settings{color:#183e55;max-width:460px;max-height:90dvh;overflow:auto;font-size:15px}.island-settings .choice{width:100%}.island-settings>p{line-height:1.7;color:#62798a}.island-check{display:flex;align-items:center;gap:10px}.island-check input{accent-color:#068da5;width:18px;height:18px}.island-notice{position:fixed;z-index:30;bottom:85px;left:50%;transform:translateX(-50%);border-radius:12px;background:#153e53;color:#fff;padding:14px 22px;box-shadow:0 8px 40px #0b364f30}.island-celebrate{position:absolute;inset:26% 25% auto;background:#fffef5ed;border:2px solid #dcc17d;border-radius:2cqw;text-align:center;padding:2cqw;box-shadow:0 2cqw 6cqw #17374630;display:grid;justify-items:center;gap:.8cqw;animation:island-celebrate 2.4s ease both;z-index:3}.island-celebrate svg{width:4cqw;height:4cqw;color:#098e9c}.island-celebrate strong{font-size:3.5cqw}.island-celebrate span{font-size:1.8cqw}@keyframes island-water{0%{background-position:140% 0}to{background-position:-140% 0}}@keyframes island-arrive{0%{opacity:.35;transform:translateY(.7cqw) scale(.98)}to{opacity:1;transform:none}}@keyframes island-celebrate{0%{opacity:0;transform:scale(.94)}12%,80%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-1cqw)}}@media(max-width:950px){.island-toolbar{flex-wrap:wrap;justify-content:center;padding:6px;gap:5px}.island-connection{max-width:100%;flex-direction:row;gap:10px}.island-controls{flex-wrap:wrap;justify-content:center}.island-controls button{font-size:12px;padding:6px}.island-screen{--bar:84px}.island-controls button span{display:none}}@media(prefers-reduced-motion:reduce){.island-screen *{animation:none!important;transition:none!important}}.prep-center{--prep-ink:#163f45;--prep-green:#176b66;--prep-line:#dce8e5;font-size:16px}.prep-top-switch{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.prep-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}.prep-toolbar h2{font-size:25px;margin:0 0 7px;color:var(--prep-ink)}.prep-toolbar p{margin:0;color:#5d7477;font-size:15px}.prep-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px;align-items:start}.prep-course-list{background:#f4f8f7;border:1px solid var(--prep-line);border-radius:18px;padding:14px;min-width:0}.prep-search{display:grid;gap:8px;color:#587074;font-size:14px}.prep-search input{width:100%;min-width:0}.prep-courses{display:grid;gap:9px;margin-top:14px;max-height:650px;overflow:auto}.prep-courses>button{display:grid;gap:9px;width:100%;text-align:left;padding:16px 13px;border:1px solid transparent;border-radius:12px;background:transparent;color:#254c51;cursor:pointer;overflow-wrap:anywhere}.prep-courses>button:hover{background:#e6f0ed}.prep-courses>button.active{background:#fff;border-color:#7eb7ad;box-shadow:0 5px 15px #195b5310}.prep-courses small,.prep-courses span{font-size:13px;color:#647c7d}.prep-courses strong{font-size:16px;line-height:1.55}.prep-history-note{font-size:13px;line-height:1.7;color:#6a7c7c;margin:18px 3px 3px}.prep-workspace{min-width:0;display:grid;gap:18px}.prep-course-header{display:flex;gap:18px;justify-content:space-between;align-items:flex-start}.prep-course-header h2{font-size:27px;line-height:1.4;margin:9px 0;color:var(--prep-ink);overflow-wrap:anywhere}.prep-course-header p{font-size:14px;line-height:1.7;color:#62777b;margin:0}.prep-eyebrow{color:var(--prep-green);font-size:14px;font-weight:600}.prep-course-header .btn{flex-shrink:0}.prep-progress{display:flex;align-items:center;gap:12px;font-size:14px;color:#62777b}.prep-progress progress{height:8px;max-width:170px;accent-color:#218e7c}.prep-progress strong{font-weight:500;color:#346761}.prep-tabs{display:flex;gap:6px;border-bottom:1px solid var(--prep-line)}.prep-tabs button{font:inherit;font-size:15px;background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 14px;cursor:pointer;color:#637b7d}.prep-tabs button.active{color:var(--prep-green);border-bottom-color:var(--prep-green);font-weight:600}.prep-write-grid{display:grid;grid-template-columns:172px minmax(0,1fr);gap:16px;align-items:start}.prep-section-nav{display:grid;gap:5px;padding-top:8px}.prep-section-nav button{display:flex;align-items:center;gap:8px;min-height:45px;padding:11px 9px;border:0;background:transparent;text-align:left;border-radius:9px;color:#536e72;cursor:pointer;font:inherit;font-size:14px}.prep-section-nav button.active{background:#dff0e9;color:#145d55;font-weight:600}.prep-section-nav button>span:first-child{font-size:12px;opacity:.65}.prep-section-nav svg{margin-left:auto;flex-shrink:0}.prep-dot{width:5px;height:5px;background:#be8635;border-radius:50%;margin-left:auto}.prep-document{font-size:16px;line-height:1.95;color:#29474d;min-height:220px;padding:10px 0;overflow-wrap:anywhere}.prep-writing-empty{display:grid;justify-items:center;text-align:center;padding:35px 14px;color:#557575;min-height:260px;align-content:center}.prep-writing-empty h3{font-size:19px;color:#284f52;margin:15px 0 3px}.prep-writing-empty p{font-size:14px;line-height:1.8;margin:8px 0 19px;max-width:340px}.prep-section-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 0;border-top:1px solid var(--prep-line);font-size:14px}.prep-checked{color:#177160;font-weight:600}.prep-citations{padding:14px 0;border-top:1px solid var(--prep-line);font-size:14px}.prep-source-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.prep-source-tags .btn{white-space:normal;text-align:left}.prep-ai-row{display:flex;align-items:center;gap:15px;justify-content:space-between;background:#f1f7f4;padding:16px;border-radius:12px;margin-top:10px}.prep-ai-row strong{font-size:15px;color:#265e57}.prep-ai-row p{font-size:14px;line-height:1.6;color:#68817e;margin:6px 0 0}.prep-ai-row .btn{flex-shrink:0}.prep-notice{font-size:14px;line-height:1.75;padding:13px 16px;background:#fcf6e9;border:1px solid #f0e1bd;border-radius:11px;color:#826634}.prep-notice.ready{background:#edf7f1;border-color:#d6e9db;color:#397357}.prep-source{padding:20px 0;border-bottom:1px solid var(--prep-line)}.prep-source h3{font-size:18px;margin:12px 0 5px}.prep-source details{margin:12px 0 17px;font-size:15px}.prep-source details p{font-size:15px;line-height:1.85;max-height:340px;overflow:auto;background:#f6f9f8;padding:14px;border-radius:8px}.prep-legacy{padding:17px;background:#f7f9f8;border:1px solid var(--prep-line);border-radius:12px;font-size:14px}.prep-legacy p{font-size:15px;line-height:1.8}.prep-export-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.prep-export-options article{border:1px solid var(--prep-line);border-radius:14px;padding:24px;color:#256b63}.prep-export-options h3{font-size:19px;color:var(--prep-ink);margin:14px 0 8px}.prep-export-options p{font-size:14px;line-height:1.8;color:#687c7a;margin-bottom:20px}.prep-template-card{display:grid;gap:12px;background:#f1f7f5;padding:20px;border-radius:12px;margin:18px 0}.prep-template-card span{font-size:14px;color:#607b77}.prep-assistant-dialog,.prep-template-dialog{width:min(95vw,1000px)!important;max-width:1000px!important;max-height:90dvh;overflow-y:auto}.prep-import-text{width:100%;margin:12px 0;font-size:14px;font-family:inherit;min-height:130px}.prep-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prep-compare article{min-width:0;background:#f6f8f7;padding:18px;border:1px solid #dce5e1;border-radius:12px;max-height:360px;overflow:auto}.prep-compare article+article{background:#edf8f0}.prep-compare h3{font-size:16px;margin:0 0 12px}.prep-compare p{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.prep-mapping{max-height:55dvh;overflow:auto;display:grid;gap:12px}.prep-mapping>label{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:14px;padding:14px;background:#f4f8f6;border-radius:10px}.prep-mapping strong{font-size:14px}.prep-mapping small{display:block;font-size:13px;color:#687e76;margin-top:5px;overflow-wrap:anywhere}.prep-center summary{cursor:pointer;color:#39665f}.prep-center :is(button,input,textarea,summary):focus-visible{outline:3px solid #72bdae;outline-offset:3px}.prep-center .wb-panel-body{min-width:0}.prep-center .panel-heading{flex-wrap:wrap}.prep-center .muted{line-height:1.75}.prep-center .prep-editor-panel .panel-heading h2{font-size:19px}@media(max-width:1150px){.prep-layout{grid-template-columns:200px minmax(0,1fr);gap:16px}.prep-write-grid{grid-template-columns:1fr}.prep-section-nav{display:flex;overflow:auto;padding-bottom:5px}.prep-section-nav button{white-space:nowrap;flex-shrink:0}.prep-ai-row{align-items:flex-start;flex-wrap:wrap}}@media(max-width:760px){.prep-layout{grid-template-columns:1fr}.prep-course-list{padding:12px}.prep-courses{display:flex;overflow:auto;max-height:none;margin-top:10px}.prep-courses>button{min-width:190px;max-width:230px;flex-shrink:0}.prep-history-note{display:none}.prep-toolbar{align-items:flex-start}.prep-toolbar h2{font-size:22px}.prep-toolbar p{font-size:14px}.prep-toolbar>.btn{flex-shrink:0}.prep-course-header h2{font-size:24px}.prep-tabs{overflow:auto}.prep-tabs button{white-space:nowrap;flex:1;padding:12px 8px;font-size:14px}.prep-compare,.prep-export-options,.prep-mapping>label{grid-template-columns:1fr}.prep-progress{font-size:14px}.prep-center .prep-editor-panel .panel-heading{gap:10px}.prep-assistant-dialog,.prep-template-dialog{padding:18px!important}.prep-course-header{flex-wrap:wrap}.prep-document{min-height:160px}}.class-image-dialog{width:98vw!important;max-width:1700px!important;height:95dvh;max-height:95dvh;padding:22px!important;display:flex!important;flex-direction:column;gap:12px;background:#101d2e!important;color:#f3f8ff!important;border-color:#35516d!important}.class-image-dialog [data-slot=dialog-description]{color:#b7cadc}.class-image-stage{flex:1;min-height:100px;overflow:auto;display:flex;align-items:center;justify-content:center;background:#091322;border-radius:12px;padding:20px}.class-image-stage>img{max-height:100%;max-width:100%;object-fit:contain;transform-origin:center;transition:transform .2s}.class-image-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.class-image-actions svg{width:20px;height:20px}.class-image-dialog .btn{color:#dceaff;background:#1d334b;border:1px solid #3a536d;min-height:44px}.class-image-thumbs{display:flex;gap:9px;overflow:auto;min-height:62px;flex-shrink:0;justify-content:center}.class-image-thumbs button{width:62px;height:62px;flex-shrink:0;border:2px solid transparent;border-radius:7px;overflow:hidden}.class-image-thumbs button[aria-current=true]{border-color:#58e3d4}.class-image-thumbs img{width:100%;height:100%;object-fit:cover}.media-editor{width:min(94vw,820px)!important;max-width:820px!important;max-height:90dvh;overflow:auto}.media-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.media-editor-grid article{border:1px solid #cedfe5;border-radius:12px;padding:8px}.media-editor-grid article>button:first-child{display:grid;gap:7px;width:100%;text-align:left;font-size:14px}.media-editor-grid img{height:140px;width:100%;object-fit:contain;background:#ecf2f6;border-radius:6px}.media-editor-grid .text-btn{display:flex;gap:5px;align-items:center;margin-top:10px;font-size:14px}.media-upload-list{max-height:170px;overflow:auto;padding:10px 15px;background:#eef5f8;border-radius:10px;font-size:14px}.media-upload-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0}.media-editor .btn{min-height:44px}.media-editor p{font-size:14px;line-height:1.7}.island-exams h2>button,.island-homework h2>button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.3cqw;height:2.3cqw;border-radius:.4cqw;background:#ffffff22;color:white}.island-exams h2>button:hover,.island-homework h2>button:hover{background:#ffffff55}.island-exams h2>button svg,.island-homework h2>button svg{width:1.5cqw;height:1.5cqw;color:white}.island-homework li>button{width:100%;height:100%;display:grid;grid-template-columns:1.4cqw 1fr auto;grid-template-rows:1fr auto;gap:0 .6cqw;align-items:center;text-align:left;border-radius:.4cqw;padding:.25cqw}.island-homework li>button>small{grid-column:2/4;font-size:.75cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#587381}.island-exams li>button>span,.island-homework li>button>span{font-size:.75cqw;white-space:nowrap;color:#2b727d}.island-exams li>button{width:100%;display:flex;align-items:center;gap:.4cqw;min-width:0;height:100%;padding:.2cqw;border-radius:.4cqw;text-align:left}.island-exams li>button:hover,.island-homework li>button:hover{background:#09a5bb17}.island-canvas button:focus-visible{outline:.2cqw solid #147cba;outline-offset:.2cqw}.island-controls .island-roll-button{background:#133c58;color:#fff;border:1px solid #e2c06d;font-weight:700}.island-controls .island-roll-button:hover{background:#1a5979;color:#fff}.rollcall-dialog{width:min(96vw,1220px)!important;max-width:1220px!important;max-height:94dvh;overflow:auto;padding:30px!important;background:radial-gradient(ellipse at 50% 40%,#17546b 0,#112c47 40%,#09192e 85%)!important;color:#eaf8ff!important;border:1px solid #41647d!important;box-shadow:0 40px 130px #030d20a0}.rollcall-dialog [data-slot=dialog-title]{font-size:25px;letter-spacing:.06em;color:#e9f5ff}.rollcall-dialog [data-slot=dialog-description]{color:#acccdf;font-size:15px}.rollcall-field{position:relative;min-height:340px;display:grid;place-items:center;isolation:isolate;overflow:hidden;border-radius:22px;border:1px solid #87d7e222;background:linear-gradient(180deg,#6dddeb08,transparent)}.rollcall-orbit{position:absolute;width:280px;height:280px;left:calc(50% - 140px);top:calc(50% - 140px);border:1px solid #5fe0d854;border-radius:50%;box-shadow:0 0 0 32px #42b9c40a,0 0 0 65px #42b9c407,0 0 70px #63e6c514;z-index:-1}.rollcall-name-cloud{position:absolute;inset:14px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);align-items:center;justify-items:center;gap:12px;z-index:-1;opacity:.2;mask-image:radial-gradient(ellipse,#0000 13%,#0009 50%,#000 100%)}.rollcall-name-cloud span{font-size:17px;letter-spacing:.15em;color:#9bdedb}.rollcall-focus{text-align:center;padding:30px 20px;min-width:65%;background:radial-gradient(ellipse,#102a43 15%,#102a43dd 45%,transparent 72%)}.rollcall-focus>span{font-size:14px;letter-spacing:.23em;color:#a4d5df}.rollcall-focus strong{display:block;font-size:clamp(44px,7.5vw,105px);font-weight:850;line-height:1.65;letter-spacing:.06em;white-space:nowrap;color:#eafaff;text-shadow:0 0 30px #5cffff45}.rollcall-focus p{font-size:16px;color:#b9d1df;margin:5px 0}.rollcall-options{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin:6px 0;color:#b9d1df;font-size:14px}.rollcall-options label{display:flex;align-items:center;gap:8px}.rollcall-options input{width:18px;height:18px;accent-color:#53d6c4}.rollcall-options>span{margin-left:auto}.rollcall-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:4px}.rollcall-dialog .btn{min-height:44px;border-color:#54718a;background:#19334a;color:#d5e9f9}.rollcall-start{display:flex;align-items:center;justify-content:center;gap:10px;min-width:210px;min-height:57px;padding:12px 28px;border-radius:14px;font-size:20px;font-weight:750;color:#0c3544;background:linear-gradient(110deg,#97f0d7,#48cbd9);box-shadow:0 8px 28px #34b6bf22}.rollcall-start:disabled{opacity:.55}.rollcall-footnote{display:block;text-align:center;font-size:13px;color:#81a6bc;margin-top:8px;line-height:1.7}.rollcall-empty{font-size:14px;text-align:center;color:#ebd398}.is-rolling .rollcall-name-cloud span{animation:roll-name-pulse .65s ease-in-out infinite alternate}.is-rolling .rollcall-orbit{animation:roll-orbit 1s ease-in-out infinite alternate}.has-winner .rollcall-focus strong{color:#ffdd8a;text-shadow:0 0 32px #ffbf3955;animation:roll-final .65s cubic-bezier(.2,.8,.2,1)}.has-winner .rollcall-orbit{border-color:#ffcf79aa;box-shadow:0 0 0 32px #ecc3650b,0 0 0 65px #edc14a05,0 0 80px #f7cf7029}.rollcall-dialog button:focus-visible{outline:3px solid #8be3e3;outline-offset:4px}@keyframes roll-name-pulse{0%{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:translateY(-9px)}}@keyframes roll-orbit{0%{transform:scale(.88);opacity:.4}to{transform:scale(1.18);opacity:1}}@keyframes roll-final{0%{transform:scale(.78);opacity:.2}to{transform:scale(1);opacity:1}}@media(max-width:760px){.media-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-image-dialog{padding:15px!important}.class-image-stage{padding:5px}.class-image-thumbs{justify-content:flex-start}.rollcall-dialog{padding:20px!important}.rollcall-field{min-height:290px}.rollcall-name-cloud{grid-template-columns:repeat(4,1fr)}.rollcall-name-cloud span:nth-child(n+17){display:none}.rollcall-actions{gap:9px;flex-wrap:wrap}.rollcall-start{order:-1;width:100%}.rollcall-options{gap:12px}.rollcall-options>span{margin-left:0}.rollcall-focus strong{font-size:clamp(36px,11vw,70px)}.island-controls .island-roll-button{font-size:14px;min-height:44px}.island-toolbar{font-size:14px}.island-connection small{font-size:13px}}@media(prefers-reduced-motion:reduce){.class-image-stage>img,.rollcall-dialog *{animation:none!important;transition:none!important}}.phone-entry{max-width:920px;margin:auto;padding:28px 24px 40px;color:#173f46;font-family:inherit}.phone-entry header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:54px}.phone-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;color:#28715b;text-decoration:none}.phone-entry header>span{font-size:13px;color:#667e80}.phone-hero{position:relative;padding:40px;border-radius:28px;background:radial-gradient(ellipse at top right,#bde9e2,transparent 70%),#eaf4f0;border:1px solid #d1e6df}.phone-eyebrow{display:flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.12em;color:#327b71}.phone-hero h1{font-size:clamp(36px,6vw,60px);line-height:1.3;letter-spacing:-.04em;margin:22px 0 18px;font-weight:800;color:#143b42}.phone-hero p{font-size:16px;line-height:1.9;max-width:540px;color:#526e72}.phone-primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#236d5b;color:#fff!important;padding:15px 24px;border-radius:12px;min-height:50px;font-weight:700;margin:24px 0 13px;text-decoration:none}.phone-hero>small{display:block;font-size:12px;color:#607d7f;line-height:1.6}.phone-connection{display:flex;align-items:center;gap:8px;border-top:1px solid #c5ded8;margin-top:30px;padding-top:20px;font-size:13px;color:#466d71;flex-wrap:wrap}.phone-connection>span{width:7px;height:7px;border-radius:50%;background:#39927a}.phone-connection i{font-style:normal;font-size:11px;color:#6b8a8b;margin:0 8px}.phone-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.phone-shortcuts>a{position:relative;display:grid;grid-template-columns:32px 1fr;gap:6px 8px;background:#fff;border:1px solid #d9e6e0;border-radius:16px;padding:23px;text-decoration:none;color:#1d535b}.phone-shortcuts>a>svg:first-child{grid-row:1/3;margin-top:2px;color:#34816f}.phone-shortcuts strong{font-size:16px}.phone-shortcuts span{font-size:13px;color:#748889}.phone-shortcuts>a>svg:last-child{position:absolute;right:15px;top:18px;color:#8da4a2}.phone-card{background:#fff;border:1px solid #dce6e1;border-radius:18px;padding:26px;margin-top:18px}.phone-section-title{display:flex;align-items:center;gap:10px}.phone-card h2{font-size:20px;font-weight:750;margin:0 0 12px}.phone-card li,.phone-card p{font-size:14px;line-height:1.85;color:#587378}.phone-card ol{padding-left:22px;margin:15px 0}.phone-card li+li{margin-top:10px}.phone-card small{display:block;color:#75888b;font-size:12px;line-height:1.8}.phone-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 12px}.phone-actions button{display:flex;align-items:center;gap:8px;border:1px solid #caded8;background:#f4f9f6;border-radius:9px;min-height:44px;padding:9px 15px;font-size:14px}.phone-card code{display:block;font-size:12px;overflow-wrap:anywhere;white-space:normal;margin-bottom:14px;color:#426f74}.phone-status,.phone-success{padding:10px 14px;background:#eef7f2;border-radius:10px;display:flex;gap:8px;align-items:center}.phone-entry footer{text-align:center;font-size:12px;color:#7e9695;margin:32px 0 0}.phone-entry a:focus-visible,.phone-entry button:focus-visible{outline:3px solid #258c88;outline-offset:4px}@media(max-width:600px){.phone-entry{padding:20px 16px}.phone-entry header{margin-bottom:27px}.phone-entry header>span{font-size:11px}.phone-hero{padding:27px 23px;border-radius:22px}.phone-hero h1{font-size:38px}.phone-hero p{font-size:14px}.phone-hero .phone-primary{width:100%}.phone-connection{font-size:12px;gap:5px}.phone-connection i{margin:0;font-size:10px}.phone-shortcuts{gap:10px}.phone-shortcuts>a{padding:18px 14px;grid-template-columns:1fr}.phone-shortcuts>a>svg:first-child{grid-row:auto;margin-bottom:7px}.phone-shortcuts strong{font-size:15px}.phone-shortcuts span{font-size:11px}.phone-card{padding:22px}.phone-card h2{font-size:18px}}.island-homework ol{margin-top:1cqw}.island-homework li{height:3.12cqw}.island-exams ol{margin-top:1cqw}.island-exams li{height:3cqw}@media(max-width:850px){.wb-page-title{flex-wrap:wrap}.wb-save-status{display:flex!important;gap:6px;align-items:center;flex-wrap:wrap}.wb-topbar,.wb-topbar>.row-actions{flex-wrap:wrap}.wb-mobile-menu>label{display:flex;align-items:center;gap:8px;padding:10px 0}.wb-mobile-menu>label input{width:100%;min-width:0}}.qh-login{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:#f7fafb;color:#143a49}.qh-login-story{background:#104b60;color:white;padding:clamp(36px,6vw,90px);display:flex;flex-direction:column;justify-content:center;position:relative}.qh-login-brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:750;color:white;text-decoration:none;margin-bottom:70px}.qh-login-story h1{font-size:clamp(32px,3.4vw,56px);line-height:1.4;font-weight:700;letter-spacing:.02em;margin:12px 0 24px}.qh-login-story p{font-size:17px;line-height:1.9;color:#d5e9ed}.qh-login-kicker{letter-spacing:.16em;font-size:14px;font-weight:600}.qh-login-note{margin-top:60px;font-size:14px;color:#c5e0e4}.qh-login-form{display:flex;align-items:center;justify-content:center;padding:48px 30px}.qh-login-form>div{width:100%;max-width:390px}.qh-login-form h2{font-size:30px;font-weight:700;margin:14px 0}.qh-login-form>div>p{color:#637d87;font-size:16px;margin-bottom:36px}.qh-auth-fields{display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:left;margin:20px 0}.qh-auth-fields input{height:48px;background:white;border:1px solid #cddde2;border-radius:10px;padding:12px;font-size:16px;box-shadow:none;width:100%}.qh-auth-fields label{font-size:15px;margin-top:8px}.qh-auth-fields .qh-auth-submit{min-height:48px;margin-top:14px;border-radius:10px;background:#087d80;color:white;font-size:16px}.qh-auth-fields .qh-auth-submit:hover{background:#07676c}.qh-auth-error{color:#ac263a;font-size:14px;line-height:1.6}.qh-auth-caption{font-size:14px;color:#6c818a;line-height:1.6}.qh-login-help{font-size:14px;color:#087d80;display:inline-block;padding:12px 0}.qh-auth-message{padding:20px;background:#e9f3f5;border-radius:12px;line-height:1.8}.qh-account{max-width:500px!important;text-align:left!important}.qh-backup-box{padding:18px;background:#edf7f8;border-radius:12px;margin-top:20px}.qh-backup-box p{font-size:14px;line-height:1.7;margin:8px 0}.qh-backup-box .row-actions{margin-top:12px}.qh-account .qh-auth-caption{margin-bottom:6px}@media(max-width:720px){.qh-login{display:block}.qh-login-story{padding:26px 26px 30px}.qh-login-brand{font-size:24px;margin-bottom:24px}.qh-login-story h1{font-size:30px;margin:10px 0}.qh-login-note,.qh-login-story>p:not(.qh-login-kicker){display:none}.qh-login-form{padding:32px 26px 40px}.qh-login-form h2{font-size:25px}.qh-login-form>div>p{margin-bottom:24px}.wb-topbar>.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.wb-topbar{gap:12px}.qh-account{padding:26px!important}}.feedback-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:start}.feedback-students{padding:14px;display:grid;gap:12px;position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto}.feedback-students input{width:100%;min-width:0}.feedback-students>div>button{display:flex;width:100%;flex-direction:column;text-align:left;gap:5px;padding:14px 10px;border-radius:10px;margin-bottom:6px;background:transparent;border:1px solid transparent}.feedback-students button.active{background:#e7f2ef;border-color:#83b2a9;color:#15594e}.feedback-students small{font-size:.875rem;color:#536862}.feedback-main{min-width:0}.feedback-student-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.feedback-student-heading h2{font-size:1.4rem;margin:0 0 6px}.feedback-student-heading p{color:#596d68;font-size:.875rem}.feedback-review-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.15fr);gap:18px;align-items:start}.feedback-review-grid .panel-heading{flex-wrap:wrap}.feedback-review-grid .row-actions{flex-wrap:wrap;gap:8px;margin-top:12px}.feedback-evidence{max-height:720px;overflow:auto}.feedback-evidence>article{border-bottom:1px solid #e3e9e7;padding:16px 0;overflow-wrap:anywhere}.feedback-evidence-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.feedback-evidence-title label{display:flex;align-items:flex-start;gap:10px}.feedback-evidence-title input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#19645e}.feedback-evidence p{font-size:1rem;line-height:1.8;margin:10px 0;white-space:pre-wrap}.feedback-evidence small{font-size:.875rem;color:#596d68}.feedback-card{border:1px solid #d6e5df;border-radius:14px;background:#f7fbf9;padding:22px;margin:16px 0}.feedback-card-mark{font-size:.875rem;color:#19645e;font-weight:700;letter-spacing:.12em;border-bottom:2px solid #19645e;padding-bottom:12px;margin-bottom:18px}.feedback-card pre,.feedback-print-card pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.9;margin:0}.feedback-observations{max-width:760px!important}.feedback-scroll{max-height:55vh;overflow:auto}.feedback-scroll p{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-main details summary{cursor:pointer;font-size:.9rem;padding:8px 0}.feedback-main .wb-record p{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-print-stack{display:none}@media(max-width:1200px){.feedback-review-grid{grid-template-columns:1fr}.feedback-evidence{max-height:350px}}@media(max-width:700px){.feedback-layout{grid-template-columns:1fr;gap:14px}.feedback-students{position:static;max-height:none;padding:12px}.feedback-students>div{display:flex;gap:8px;overflow:auto;max-height:160px}.feedback-students>div>button{min-width:140px;width:auto;flex-shrink:0}.feedback-review-grid{display:block}.feedback-card{padding:16px}.feedback-main .row-actions .btn{min-height:44px}.wb-list-row{flex-wrap:wrap;row-gap:10px}.feedback-evidence{max-height:330px}}@media print{@page{size:A4;margin:12mm}body:has(.feedback-print-stack)>*{display:none!important}body>.feedback-print-stack{display:block!important;background:white!important;color:black!important}.feedback-print-card{min-height:112mm;border:1px solid #aac4b8;border-top:3mm solid #19645e;border-radius:2mm;padding:7mm;margin-bottom:8mm;break-inside:avoid}.feedback-print-card pre{font-size:11pt;line-height:1.7}.feedback-print-card:nth-child(2n){break-after:page}}