:root{font-family:Arial,Helvetica,sans-serif;color:#17262d;background:#e8eef0;font-synthesis:none}.classroom-shell-active #app{display:none}.classroom-shell-active{background:#f5f7f6;color:#1c3034}.classroom-shell-active:has(.auth-shell){display:flow-root;min-height:100dvh}.classroom-shell{min-height:100dvh}.classroom-header{display:flex;align-items:center;gap:28px;min-height:76px;padding:12px max(24px,calc((100vw - 1500px)/2));background:#1f3539;color:#fff}.classroom-brand{color:#fff;font-size:21px;font-weight:700;text-decoration:none;white-space:nowrap}.classroom-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.classroom-nav a{display:inline-flex;align-items:center;min-height:48px;padding:10px 15px;color:#e3f1ee;text-decoration:none;border-radius:5px}.classroom-nav a:hover,.classroom-nav a.active{background:#38545a;color:#fff}.classroom-nav a:focus-visible,.classroom-brand:focus-visible,.classroom-primary:focus-visible{outline:3px solid #ecaa50;outline-offset:2px}.classroom-connectivity{min-width:78px;font-size:13px;text-align:right;color:#d5e2df}.classroom-account{display:flex;align-items:center;gap:12px;max-width:260px;font-size:13px}.classroom-account span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-link{border:0;padding:8px;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;white-space:nowrap}.auth-shell{width:min(100% - 32px,420px);margin:clamp(48px,12vh,120px) auto}.auth-shell h1{margin:0 0 30px;font-size:28px;color:#1f3539}.auth-shell h2{margin:0 0 22px;font-size:21px}.auth-form{display:grid;gap:14px}.auth-form input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #8da3a4;border-radius:5px;background:#fff;color:#1c3034;font:inherit}.auth-form .classroom-primary{width:100%}.auth-form .auth-link{justify-self:start}.classroom-device{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:620px;padding:10px 0;border-bottom:1px solid #d6dfdd}.classroom-auth-warning{margin:0;padding:12px max(24px,calc((100vw - 1500px)/2));background:#fff1d7;color:#5f4219;border-bottom:1px solid #eacb91}.classroom-main{max-width:1500px;margin:0 auto;padding:38px 36px 72px}.classroom-heading{font-size:32px;margin:0 0 30px;line-height:1.2}.classroom-section{margin:0 0 44px}.classroom-section-title{font-size:22px;margin:0 0 18px}.classroom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:22px}.classroom-book{display:flex;gap:18px;min-height:230px;padding:18px;background:#fff;border:1px solid #ccd8d6;border-radius:6px}.classroom-book-featured{max-width:760px;min-height:260px;border-color:#8cb5a9}.classroom-cover{display:flex;flex-direction:column;justify-content:space-between;flex:0 0 140px;min-height:190px;padding:14px;background:#286454;color:#fff;border-left:7px solid #f2b456;box-shadow:3px 4px #d6dfdc;overflow-wrap:anywhere}.classroom-book-featured .classroom-cover{flex-basis:150px}.cover-mark{font-size:12px;font-weight:700}.cover-title{font-size:14px;line-height:1.12}.cover-edition{font-size:11px;opacity:.85}.classroom-book-detail{display:flex;flex-direction:column;min-width:0;flex:1;align-items:flex-start}.classroom-book-title{font-size:19px;line-height:1.2;overflow-wrap:anywhere;margin:3px 0 8px}.classroom-book-edition{color:#5a7374;font-size:13px;overflow-wrap:anywhere}.classroom-book-status{color:#2d7654;font-size:13px;margin-top:12px}.classroom-book-page{font-size:15px;margin-top:8px}.classroom-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:94px;margin-top:auto;padding:9px 18px;background:#236a55;color:#fff;border:1px solid #236a55;border-radius:5px;text-decoration:none;font-weight:700}.classroom-primary:hover{background:#184d3e;color:#fff}.classroom-description{font-size:16px;color:#546a6c;margin:0 0 24px}.classroom-download-row,.classroom-library-manage{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #d4dfdc}.classroom-download-info{flex:1;min-width:0}.classroom-download-info h3{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}.classroom-download-info p{margin:0 0 6px;color:#526769;font-size:13px;overflow-wrap:anywhere}.classroom-download-progress{width:min(100%,520px);height:10px;accent-color:#236a55}.classroom-download-row .classroom-primary{margin:0}.classroom-secondary{flex:none;min-height:40px;padding:8px 12px;border:1px solid #8ba9a1;border-radius:5px;background:#fff;color:#204a42;cursor:pointer}.classroom-secondary:hover{background:#edf5f2}.classroom-library-manage{justify-content:space-between;font-size:14px}@media(max-width:600px){.classroom-download-row{flex-wrap:wrap}.classroom-download-info{flex-basis:100%}}.classroom-empty,.classroom-failure{padding:32px 0;font-size:19px}.classroom-failure .classroom-primary{margin-top:12px}.classroom-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:560px;min-height:64px;border-bottom:1px solid #d6dfdc;font-size:17px}.classroom-settings-group{max-width:560px;margin-top:34px}.classroom-settings-group h2{font-size:20px}.classroom-select{min-width:150px;min-height:44px;padding:7px}.classroom-color{width:54px;height:42px;padding:2px}.classroom-range{width:180px}.classroom-help{max-width:680px;padding-left:24px;font-size:18px;line-height:1.6}.classroom-help li{margin-bottom:16px}.classroom-error{color:#a12626}.return-library{flex:0 0 auto;min-height:40px;background:#314d4d;color:#fff;border-color:#62817f}.classroom-book-error{padding:40px;font-size:20px}.classroom-book-error #app{display:none}@media(max-width:780px){.classroom-header{flex-wrap:wrap;gap:8px;padding:12px 18px}.classroom-nav{order:2;width:100%;overflow-x:auto;margin-left:0}.classroom-nav a{flex:0 0 auto;padding-inline:10px}.classroom-connectivity{margin-left:auto}.classroom-account{order:1;margin-left:auto}.classroom-main{padding:26px 18px 54px}.classroom-heading{font-size:26px}.classroom-book{min-height:220px}}@media(max-width:440px){.classroom-grid{grid-template-columns:1fr}.classroom-cover{flex-basis:120px}.classroom-book-featured .classroom-cover{flex-basis:125px}.classroom-book{gap:13px;padding:12px}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}button:focus-visible,input:focus-visible,.open-command:focus-within{outline:3px solid #ed9b44;outline-offset:2px}#app{height:100dvh;min-height:440px;display:flex;flex-direction:column}.topbar{height:54px;min-height:54px;display:flex;align-items:center;gap:22px;padding:0 16px;color:#f9fbfa;background:#1f3539}.brand{white-space:nowrap;font-size:17px}.brand strong{color:#8fe0c1}.book-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;flex:1}.top-actions,.toolbar-group{display:flex;align-items:center;gap:5px}.top-actions{position:relative}.top-actions>button:first-child{display:inline-flex;align-items:center;gap:7px}.teaching-tools-menu{position:absolute;top:calc(100% + 7px);right:54px;z-index:30;width:224px;padding:8px;background:#fff;color:#233b40;border:1px solid #b5c7c8;box-shadow:0 8px 24px #19323933;display:grid;gap:3px}.teaching-tools-menu strong{font-size:12px;padding:10px 7px 4px;color:#577073}.teaching-tools-menu button{display:flex;align-items:center;gap:10px;min-height:46px;border:0;text-align:left}.teaching-tools-menu button:hover,.teaching-tools-menu button[aria-pressed=true]{background:#e1f3ed}.connectivity-status{font-size:12px;white-space:nowrap;color:#c8d8d6}.open-command,button{border:1px solid #b9c8ca;border-radius:5px;background:#fff;color:#253e43;min-height:38px;padding:7px 11px}.open-command{display:inline-flex;align-items:center;gap:8px;color:#172e32;cursor:pointer;white-space:nowrap}.open-command input{position:absolute;width:1px;height:1px;opacity:0}.open-command svg,button svg{width:18px;height:18px;stroke-width:2;vertical-align:middle}.icon-button{width:40px;min-width:40px;height:40px;padding:0;display:grid;place-items:center}.viewer-layout{min-height:0;flex:1;display:flex}.annotation-toolbar{position:relative;z-index:6;min-height:54px;display:flex;align-items:center;gap:12px;padding:4px 12px;background:#f5f8f7;border-bottom:1px solid #b9c8ca}.annotation-tools{display:flex;align-items:center;gap:5px}.annotation-tools .icon-button{width:44px;height:44px}.annotation-tools button[aria-pressed=true]{background:#e1f3ed;border-color:#16866d;color:#075d4d}.tool-pair{display:flex;align-items:stretch}.tool-pair .icon-button{border-radius:5px 0 0 5px}.settings-button{width:28px;min-width:28px;min-height:44px;padding:0;border-left:0;border-radius:0 5px 5px 0}.settings-button svg{width:15px;height:15px}.annotation-divider{width:1px;height:28px;background:#c4d1d1;margin:0 4px}.annotation-context{font-size:13px;color:#4b6264;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotation-warning{margin-left:auto;font-size:12px;color:#9d3437}.annotation-palette{position:absolute;top:calc(100% + 2px);left:56px;z-index:10;display:flex;align-items:center;gap:16px;padding:9px 12px;background:#fff;border:1px solid #b7c8c8;border-radius:5px;box-shadow:0 8px 20px #172e3233}.annotation-colors,.annotation-widths{display:flex;align-items:center;gap:6px}.annotation-colors button{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #80999b}.annotation-colors button[aria-pressed=true]{box-shadow:0 0 0 3px #147a65}.annotation-widths button{min-width:42px;min-height:38px;padding:5px;display:grid;place-items:center}.annotation-widths button[aria-pressed=true]{border-color:#16866d;background:#e1f3ed}.width-sample{width:24px;border-radius:2px;background:currentColor}.annotation-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.annotation-layer.drawing{pointer-events:auto;touch-action:none;cursor:crosshair}.annotation-layer[data-tool=ERASER]{cursor:cell}.annotation-layer canvas{position:absolute;inset:0;display:block;pointer-events:none}.danger{background:#ae3638;color:#fff;border-color:#ae3638}.drawer{width:228px;min-width:228px;border-right:1px solid #c6d1d2;background:#f8faf9;display:flex;flex-direction:column}.drawer[hidden],[hidden]{display:none!important}.drawer-tabs{display:grid;grid-template-columns:1fr 1fr;padding:6px;gap:4px;border-bottom:1px solid #d4ddde}.drawer-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;padding:4px}.drawer-tabs button[aria-pressed=true],.toolbar button[aria-pressed=true]{border-color:#16866d;color:#0b6955;background:#e6f5f0}.drawer-scroll{overflow:auto;min-height:0;flex:1;padding:8px}.thumbnail-row{width:100%;min-height:154px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px;margin-bottom:6px;border:1px solid #d7e0e0;background:#fff}.thumbnail-row.current{border:2px solid #167e67;background:#eef8f4}.thumbnail-preview{width:82px;height:116px;display:grid;place-items:center;overflow:hidden;background:#ecf0f1;border:1px solid #d4dddd}.thumbnail-preview canvas{max-width:100%;max-height:100%;width:auto!important;height:auto!important}.thumbnail-label{font-size:12px;font-weight:600}.toc-item{width:100%;text-align:left;min-height:38px;border:0;background:transparent;padding:6px 4px;font-size:13px}.toc-item:hover,.thumbnail-row:hover{background:#eaf4f1}.toc-empty{font-size:13px;color:#566a6c;padding:10px}.main-view{position:relative;min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}.whiteboard-mode{min-height:0;flex:1;display:flex;flex-direction:column;background:#dfe7e9}.whiteboard-header{min-height:58px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:7px 12px;background:#f8faf9;border-bottom:1px solid #c7d4d6}.whiteboard-header>button{display:inline-flex;align-items:center;gap:7px;min-height:44px}.whiteboard-header strong{font-size:16px}.whiteboard-templates{margin-left:auto;display:flex;gap:4px;overflow-x:auto;max-width:100%}.whiteboard-templates button{white-space:nowrap;min-height:44px;font-size:13px}.whiteboard-templates button[aria-pressed=true]{border-color:#16866d;background:#e1f3ed;font-weight:700}.whiteboard-body{min-height:0;flex:1;padding:12px}.whiteboard-canvas{position:relative;width:100%;height:100%;background:#fff;overflow:hidden;box-shadow:0 1px 7px #22373d24}.whiteboard-template{position:absolute;inset:0;display:block;pointer-events:none}.teaching-overlay{position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none}.floating-tool{position:absolute;height:66px;transform-origin:center;pointer-events:none}.floating-tool.protractor{height:auto;aspect-ratio:500 / 270}.floating-tool-body{position:absolute;inset:0;touch-action:none;pointer-events:auto;cursor:grab}.floating-tool-body:active{cursor:grabbing}.floating-tool-body:focus-visible,.spotlight-grip:focus-visible{outline:3px solid #ed9b44;outline-offset:3px}.floating-tool.ruler .floating-tool-body{border:2px solid #52777a;background:#dbede8df;box-shadow:0 3px 10px #19323926}.floating-tool.protractor .floating-tool-body{background:transparent}.floating-tool-body svg{width:100%;height:100%;overflow:visible}.floating-tool button,.spotlight-window button{position:absolute;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;pointer-events:auto;touch-action:none;box-shadow:0 2px 7px #1f353944}.floating-tool .tool-close{right:4px;top:-45px}.floating-tool .tool-rotate{left:calc(50% - 22px);top:-48px}.floating-tool .tool-resize{right:-16px;bottom:-20px}.spotlight-window{position:absolute;pointer-events:none;box-shadow:0 0 0 100vmax #071518aa;border:3px solid #f3b65c}.spotlight-grip{position:absolute;inset:0;pointer-events:auto;touch-action:none;cursor:move}#app:has(#toolSelect[aria-pressed=false]) .spotlight-grip{pointer-events:none}.spotlight-close{top:-22px;right:-22px}.spotlight-resize{right:-22px;bottom:-22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:55px;padding:6px 12px;border-bottom:1px solid #c7d4d6;background:#f8faf9}.page-indicator{min-width:112px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.zoom-value{width:48px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.fit-command{white-space:nowrap;font-size:13px}.page-stage{flex:1;min-height:0;overflow:auto;position:relative;padding:18px;display:flex;align-items:flex-start;background:#dfe7e9;touch-action:none;overscroll-behavior:contain}.page-surface{position:relative;margin:auto;flex:none;background:#fff;box-shadow:0 1px 8px #22373d27;transform-origin:center}.page-surface canvas{display:block}.region-layer{position:absolute;inset:0;pointer-events:none}.region-hotspot{position:absolute;min-height:0;padding:0;border:1px solid transparent;border-radius:2px;background:transparent;pointer-events:auto}.region-hotspot:hover,.region-hotspot:focus-visible,.region-layer.visible .region-hotspot{border-color:#16866dbb;background:#2bc99818}.region-hotspot:focus-visible{outline:2px solid #ed9b44}.focus-mode{min-height:0;flex:1;display:flex;flex-direction:column;background:#dfe7e9}.focus-header{min-height:66px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #b9c8ca;background:#f8faf9}.focus-header strong{font-size:16px;text-align:center}.focus-header button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.focus-navigation{display:flex;gap:6px}#focusVideo{background:#13735d;border-color:#13735d;color:#fff}.focus-body{min-height:0;flex:1;overflow:auto;padding:24px;display:flex;align-items:flex-start;justify-content:center}.focus-content{position:relative;flex:none;margin:auto;background:#fff;box-shadow:0 1px 10px #22373d27}.focus-content canvas{display:block}.focus-error{align-self:center;background:#fff;border:1px solid #cb6363;padding:16px}.page-status{position:fixed;bottom:46px;left:50%;transform:translate(-50%);padding:6px 12px;border-radius:4px;background:#1f3539;color:#fff;font-size:13px;pointer-events:none}.page-error{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cb6363;padding:12px;border-radius:6px}.statusbar{min-height:28px;background:#f8faf9;border-top:1px solid #c7d4d6;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:3px 12px;font-size:12px;color:#526366}dialog{border:1px solid #9bafb0;border-radius:7px;box-shadow:0 12px 40px #182f3866;width:min(390px,calc(100vw - 24px));padding:22px}dialog::backdrop{background:#071d2580}dialog h2{font-size:19px;margin:0 0 18px}dialog label{display:block;font-size:14px;margin-bottom:8px}dialog input{width:100%;height:48px;border:1px solid #8ba5a9;border-radius:5px;padding:8px 10px;font-size:20px}#pageEntryError{min-height:19px;color:#ad3437;font-size:13px;margin:8px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.primary{background:#13735d;color:#fff;border-color:#13735d}.video-dialog{width:min(1120px,calc(100vw - 24px));max-width:none;height:min(680px,calc(100dvh - 24px));max-height:none;padding:0;overflow:hidden;background:#15252a;color:#f7fbfa;border-color:#51676c}.video-dialog[open]{display:flex;flex-direction:column}.video-dialog.video-maximized{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.video-frame{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.video-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px 6px 18px}.video-header h2{margin:0;font-size:17px}.video-header button,.video-controls button{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;color:inherit;background:transparent;border:1px solid #63777b;border-radius:4px}.video-header button:hover,.video-controls button:hover{background:#30474d}.video-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex:1 1 auto;min-height:0;overflow:hidden;background:#090e10}.video-stage video{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.video-message{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;text-align:center;background:#090e10df}.video-message button{min-height:48px;padding:0 16px}.video-controls{position:relative;z-index:2;flex:0 0 auto;min-height:70px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#15252a}.video-controls input[type=range]{width:auto;height:42px;padding:0;accent-color:#50c39d;border:0}#videoSeek{flex:1 1 160px;min-width:100px}#videoVolume{flex:0 0 92px}.video-time{flex:none;min-width:35px;font-size:13px;font-variant-numeric:tabular-nums;text-align:center}.video-speed-label{margin:0;font-size:13px}#videoSpeed{height:46px;color:inherit;background:#20353b;border:1px solid #63777b;border-radius:4px;font:inherit}.video-dialog button:focus-visible,.video-dialog input:focus-visible,.video-dialog select:focus-visible{outline:3px solid #ed9b44;outline-offset:2px}.video-frame:fullscreen{background:#15252a}.video-frame:fullscreen .video-stage{flex:1;height:auto}@media(max-width:760px){.video-dialog{width:calc(100vw - 12px);height:min(560px,calc(100dvh - 12px))}.video-controls{flex-wrap:wrap;gap:4px}#videoSeek{order:2;flex-basis:calc(100% - 100px)}#videoCurrentTime{order:1}#videoDuration{order:3}#videoVolume{flex-basis:68px}.annotation-toolbar{gap:4px;padding:4px}.annotation-tools{gap:2px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin}.annotation-tools>*{flex:none}.annotation-tools .icon-button{width:42px;min-width:42px}.settings-button{width:24px;min-width:24px}.annotation-context{display:none}.annotation-palette{left:6px;max-width:calc(100vw - 12px);flex-wrap:wrap}.focus-header{flex-wrap:wrap;justify-content:center;gap:6px}.focus-header strong{order:-1;flex-basis:100%}.focus-header button{min-height:46px}.focus-body{padding:12px}.topbar{height:50px;min-height:50px;gap:10px;padding:0 8px}.brand{font-size:14px}.open-command{padding:7px}.open-command span{display:none}.drawer{position:absolute;top:50px;bottom:28px;left:0;z-index:5;box-shadow:5px 0 20px #172e3240}.toolbar{min-height:55px;flex-wrap:wrap;justify-content:center;padding:5px}.toolbar-group{flex:none}.zoom-controls{width:100%;justify-content:center}.page-stage{padding:8px}.fit-command{padding:5px;font-size:12px}}
