:root{--ink:#172033;--muted:#687386;--brand:#5b4bdb;--brand-dark:#4435bd;--brand-soft:#eeecff;--surface:#e9edf3;--line:#d9dee8;--danger:#c23d4b}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}body{color:var(--ink);background:var(--surface);font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=application]:focus-visible{outline-offset:3px;outline:3px solid #8b80ee}.whiteboard-app{background:var(--surface);width:100vw;min-width:320px;height:100dvh;min-height:480px;display:grid;overflow:hidden}.whiteboard-app.toolbar-bottom{grid-template:"board"minmax(0,1fr)"toolbar"/minmax(0,1fr)}.whiteboard-app.toolbar-top{grid-template:"toolbar""board"minmax(0,1fr)/minmax(0,1fr)}.whiteboard-app.toolbar-left{grid-template:"toolbar board"minmax(0,1fr)/auto minmax(0,1fr)}.whiteboard-app.toolbar-right{grid-template:"board toolbar"minmax(0,1fr)/minmax(0,1fr) auto}.board-area{grid-area:board;min-width:0;min-height:0;position:relative;overflow:hidden}.whiteboard-canvas{touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative;overflow:hidden}.whiteboard-canvas[data-tool=pointer]{cursor:default}.whiteboard-canvas[data-tool=pen],.whiteboard-canvas[data-tool=highlighter]{cursor:crosshair}.whiteboard-canvas[data-tool=text]{cursor:text}.whiteboard-canvas[data-tool=shape]{cursor:crosshair}.whiteboard-canvas[data-tool=eraser]{cursor:cell}.whiteboard-canvas>.konvajs-content{background:#fff;border:1px solid #dfe3ea;border-radius:5px;overflow:hidden;box-shadow:0 16px 48px #19233424}@keyframes saving-pulse{50%{opacity:.35;transform:scale(.78)}}.toolbar{z-index:20;border:0 solid var(--line);-webkit-user-select:none;user-select:none;background:#fffffff7;grid-area:toolbar;align-items:center;gap:5px;padding:7px 12px;display:flex;box-shadow:0 -6px 22px #19233414}.toolbar-bottom .toolbar{border-top-width:1px;min-height:80px}.toolbar-top .toolbar{border-bottom-width:1px;min-height:80px;box-shadow:0 6px 22px #19233414}.toolbar-left .toolbar,.toolbar-right .toolbar{flex-direction:column;width:88px;min-height:0;padding:14px 8px;overflow-y:auto}.toolbar-left .toolbar{border-right-width:1px;box-shadow:6px 0 22px #19233414}.toolbar-right .toolbar{border-left-width:1px;box-shadow:-6px 0 22px #19233414}.toolbar-history,.toolbar-main{align-items:center;gap:4px;display:flex}.toolbar-left .toolbar-history,.toolbar-left .toolbar-main,.toolbar-right .toolbar-history,.toolbar-right .toolbar-main{flex-direction:column}.toolbar-spacer{flex:1}.toolbar-divider{background:var(--line);width:1px;height:42px;margin:0 3px}.toolbar-left .toolbar-divider,.toolbar-right .toolbar-divider{width:48px;height:1px;margin:3px 0}.toolbar-lesson-management{align-items:center;gap:5px;min-width:0;display:flex}.toolbar-left .toolbar-lesson-management,.toolbar-right .toolbar-lesson-management{flex-direction:column}.toolbar-action-button,.toolbar-lesson-button,.toolbar-board-navigation button,.save-chip{color:#415069;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;min-width:46px;min-height:46px;display:flex}.toolbar-action-button,.toolbar-lesson-button,.toolbar-board-navigation button{cursor:pointer}.toolbar-action-button:hover,.toolbar-action-button.is-active,.toolbar-lesson-button:hover,.toolbar-board-navigation button:hover{color:var(--brand-dark);background:var(--brand-soft)}.toolbar-action-button svg,.toolbar-action-icon svg,.toolbar-board-navigation svg,.toolbar-overflow-menu svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.save-chip{color:#367453;gap:0;position:relative}.save-chip .save-state-dot{background:#2eaa67;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:5px;right:5px}.save-chip.is-saving .save-state-dot{background:#e6a23c;animation:1s ease-in-out infinite saving-pulse}.save-chip.is-error{color:#a62f40;background:#fff1f3}.save-chip.is-error .save-state-dot{background:var(--danger)}.save-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-lesson-button{gap:8px;max-width:160px;padding:0 10px}.toolbar-lesson-button>span:last-child{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.toolbar-left .toolbar-lesson-button,.toolbar-right .toolbar-lesson-button{width:48px;padding:0}.toolbar-left .toolbar-lesson-button>span:last-child,.toolbar-right .toolbar-lesson-button>span:last-child{display:none}.toolbar-menu-anchor{position:relative}.toolbar-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;left:-10000px;overflow:hidden}.toolbar-overflow-menu{z-index:70;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #d7dde7;border-radius:15px;width:286px;padding:8px;position:absolute;bottom:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 18px 48px #19233433}.toolbar-top .toolbar-overflow-menu{top:calc(100% + 12px);bottom:auto}.toolbar-left .toolbar-overflow-menu{inset:0 auto auto calc(100% + 12px)}.toolbar-right .toolbar-overflow-menu{top:0;bottom:auto;right:calc(100% + 12px)}.toolbar-overflow-menu header{border-bottom:1px solid #e3e7ed;gap:2px;padding:10px 11px 12px;display:grid}.toolbar-overflow-menu header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toolbar-overflow-menu header small{color:var(--muted)}.toolbar-overflow-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:30px 1fr;align-items:center;gap:9px;width:100%;min-height:48px;padding:0 10px;display:grid}.toolbar-overflow-menu button:hover{color:var(--brand-dark);background:var(--brand-soft)}.toolbar-overflow-menu button svg{width:22px;height:22px}.toolbar-board-navigation{background:#fff;border:1px solid #d8dee8;border-radius:12px;flex:none;align-items:center;margin-left:3px;display:flex;overflow:hidden}.toolbar-left .toolbar-board-navigation,.toolbar-right .toolbar-board-navigation{flex-direction:column;margin:3px 0 0}.toolbar-board-navigation button{border:0;border-radius:0;min-width:44px;min-height:46px}.toolbar-board-navigation button+button{border-left:1px solid #e3e7ed}.toolbar-left .toolbar-board-navigation button+button,.toolbar-right .toolbar-board-navigation button+button{border-top:1px solid #e3e7ed;border-left:0}.toolbar-board-navigation button:disabled{opacity:.28;cursor:default;background:0 0}.toolbar-board-navigation .board-position{gap:7px;min-width:82px;padding:0 10px}.toolbar-board-navigation .board-position svg{width:23px;height:23px}.toolbar-board-navigation .board-position strong{font-variant-numeric:tabular-nums;font-size:13px}.toolbar-settings-divider{margin-left:4px}.tool-button{color:#354055;cursor:pointer;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:64px;min-height:64px;display:flex}.tool-button:hover{background:#f3f4f7}.tool-button.is-active{color:var(--brand-dark);background:var(--brand-soft)}.tool-button:disabled{opacity:.32;cursor:default}.tool-button:disabled:hover{background:0 0}.tool-button>span:last-child{white-space:nowrap;font-size:11px;font-weight:700}.tool-icon{place-items:center;width:28px;height:28px;display:grid;position:relative}.tool-icon svg,.close-button svg,.favorite-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tool-icon i{border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-2px;box-shadow:0 0 0 1px #17203347}.tool-panel{z-index:15;border:1px solid var(--line);-webkit-user-select:none;user-select:none;scrollbar-width:thin;background:#fffffffa;border-radius:22px;width:min(680px,100% - 36px);max-height:calc(100% - 32px);padding:22px;position:absolute;overflow:auto;box-shadow:0 24px 70px #19233438}.toolbar-bottom .tool-panel{bottom:18px;left:50%;transform:translate(-50%)}.toolbar-top .tool-panel{top:18px;left:50%;transform:translate(-50%)}.toolbar-left .tool-panel{top:50%;left:18px;transform:translateY(-50%)}.toolbar-right .tool-panel{top:50%;right:18px;transform:translateY(-50%)}.tool-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px;display:flex}.panel-kicker{color:var(--brand);letter-spacing:.15em;margin-bottom:4px;font-size:10px;font-weight:850;display:block}.tool-panel h2{letter-spacing:-.025em;margin:0;font-size:23px}.tool-panel h3{margin:0;font-size:14px}.tool-panel p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.close-button{cursor:pointer;background:#f1f3f7;border:0;border-radius:11px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.panel-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.favorite-toggle{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-size:12px;font-weight:750;display:flex}.favorite-toggle svg{width:18px;height:18px}.favorite-toggle.is-saved{color:var(--brand-dark);background:var(--brand-soft);border-color:#c7c0f7}.favorite-row{border-bottom:1px solid #e8ebf0;align-items:center;gap:8px;min-height:64px;margin:12px 0 19px;padding-bottom:18px;display:flex;overflow-x:auto}.favorite-color{flex:none;place-items:center;display:grid}.color-swatch{--swatch:#202938;background:var(--swatch);cursor:pointer;border:3px solid #fff;border-radius:50%;width:44px;height:44px;position:relative;box-shadow:0 0 0 1px #c8ced8}.color-swatch.is-selected{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--brand)}.color-swatch.is-selected:after{content:"";border:2px solid #ffffffeb;border-radius:50%;position:absolute;inset:12px}.custom-color{min-height:54px;color:var(--brand-dark);cursor:pointer;background:#fafaff;border:1px dashed #aeb7c6;border-radius:13px;flex-direction:column;flex:0 0 54px;justify-content:center;align-items:center;gap:1px;display:flex}.custom-color span{font-size:21px;line-height:1}.custom-color small{font-size:9px;font-weight:750}.custom-color input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.thickness-block{grid-template-columns:88px 1fr;align-items:center;gap:12px;margin-bottom:19px;display:grid}.thickness-options{grid-template-columns:repeat(3,minmax(80px,1fr));gap:8px;display:grid}.thickness-options button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:54px;display:flex}.thickness-options button.is-selected{color:var(--brand-dark);background:var(--brand-soft);border-color:#aaa1f0}.thickness-options i{background:currentColor;border-radius:50%;display:block}.thickness-options span{font-size:11px;font-weight:700}.standard-colors>h3{margin-bottom:11px}.color-group{grid-template-columns:repeat(13,42px);justify-content:space-between;gap:7px;margin-top:9px;display:grid}.color-group .color-swatch{width:42px;height:42px}.highlighter-panel{width:min(610px,100% - 36px)}.highlighter-colors{grid-template-columns:repeat(8,minmax(44px,1fr));gap:10px;margin:4px 0 24px;display:grid}.highlighter-swatch{--swatch:#ffe066;background:color-mix(in srgb, var(--swatch) 54%, white);cursor:pointer;border:2px solid #0000;border-radius:13px;min-width:44px;min-height:52px;position:relative}.highlighter-swatch:after{content:"";background:var(--swatch);opacity:.7;border-radius:9px;height:14px;position:absolute;top:19px;left:8px;right:8px}.highlighter-swatch:hover{border-color:#cfd3dc}.highlighter-swatch.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.highlighter-thickness{margin-bottom:0}.thickness-options .marker-width{background:var(--ink);opacity:.38;border-radius:6px;max-width:54px}.inline-board-textarea{z-index:12;resize:none;border:2px solid var(--brand);outline-offset:2px;transform-origin:50%;touch-action:manipulation;-webkit-user-select:text;user-select:text;background:#ffffffeb;border-radius:5px;outline:3px solid #5b4bdb29;margin:0;padding:8px;line-height:1.25;position:absolute;overflow:hidden}.inline-board-textarea::placeholder{color:#939cac}.text-format-panel{z-index:15;border:1px solid var(--line);-webkit-user-select:none;user-select:none;scrollbar-width:thin;background:#fffffffa;border-radius:18px;width:min(1180px,100% - 36px);max-height:calc(100% - 36px);padding:12px;position:absolute;bottom:18px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 20px 60px #19233438}.text-format-heading{align-items:baseline;gap:10px;padding:0 4px 8px;display:flex}.text-format-heading span{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:850}.text-format-heading small{color:var(--muted)}.text-format-toolbar{border:1px solid var(--line);background:#f7f8fa;border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0;padding:10px;display:flex}.format-group{border-right:1px solid var(--line);align-items:center;gap:3px;padding-right:8px;display:flex}.format-button,.text-size-control button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;min-width:44px;min-height:44px;font-size:18px;font-weight:650}.format-button:hover,.text-size-control button:hover{background:#eceef3}.format-button.is-active{color:var(--brand-dark);background:var(--brand-soft);border-color:#bdb6f5}.format-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.format-icon circle{fill:currentColor;stroke:none}.font-control{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:750;display:flex}.text-color-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:64px;min-height:44px;padding:0 9px;display:flex}.text-color-button i{border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1px #aeb5c1}.text-color-button span{color:var(--muted);font-size:10px;font-weight:750}.text-color-button.is-active{color:var(--brand-dark);background:var(--brand-soft);border-color:#aaa1f0}.text-size-control{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:stretch;min-height:44px;display:flex;overflow:hidden}.text-size-control button{border:0;border-radius:0}.text-size-control input{border:0;border-right:1px solid var(--line);border-left:1px solid var(--line);text-align:center;appearance:textfield;width:60px}.text-size-control input::-webkit-inner-spin-button{appearance:none}.font-control{flex:190px}.font-control select{border:1px solid var(--line);min-width:150px;min-height:44px;color:var(--ink);background:#fff;border-radius:9px;flex:1;padding:0 34px 0 11px}.text-color-palette,.link-editor,.fraction-popover{background:#fafbfc;border:1px solid #cfd4de;border-radius:13px;margin-top:10px;padding:13px}.text-color-palette h3{margin:0 0 8px;font-size:12px}.text-color-palette h3:not(:first-child){margin-top:14px}.text-color-row{grid-template-columns:repeat(12,44px);gap:8px;margin-top:8px;display:grid}.link-editor{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.link-editor label{color:var(--muted);gap:5px;font-size:11px;font-weight:750;display:grid}.link-editor input{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:44px;padding:0 12px}.link-editor button,.fraction-actions button,.text-editor-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:44px;padding:0 16px;font-weight:750}.link-editor p{color:var(--danger);grid-column:1/-1;margin:0}.fraction-popover h3{margin-bottom:12px}.fraction-fields{justify-content:center;align-items:center;gap:10px;display:flex}.fraction-fields>div{gap:5px;display:grid}.fraction-fields input{border:1px solid var(--line);text-align:center;background:#fff;border-radius:9px;width:140px;min-height:44px;padding:0 9px}.fraction-fields>input{width:96px}.fraction-fields hr{border:0;border-top:2px solid #697386;width:100%;margin:0}.fraction-actions,.text-editor-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:13px;display:flex}.text-editor-actions{border-top:1px solid #e5e8ee;padding-top:13px}.text-editor-actions>span{flex:1}.primary-button{color:#fff!important;border-color:var(--brand)!important;background:var(--brand)!important}.primary-button:hover{background:var(--brand-dark)!important}.primary-button:disabled{opacity:.45;cursor:default}.danger-button{color:#a72c39!important;background:#fff7f8!important;border-color:#efc7cc!important}.selection-layer{z-index:13;pointer-events:none;position:absolute;inset:0}.selection-border{transform-origin:50%;pointer-events:auto;cursor:move;touch-action:none;border:2px solid #6a59e8;border-radius:3px;position:absolute;box-shadow:0 0 0 2px #fffc}.selection-border.is-locked{cursor:not-allowed;border-style:dashed;border-color:#7d8797}.selection-border.has-interactive-content{pointer-events:none}.selection-handle{z-index:2;color:#354055;pointer-events:auto;cursor:pointer;touch-action:none;background:#fff;border:1px solid #c8ced8;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;font-size:20px;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #1720332e}.selection-menu-handle{color:var(--brand-dark);letter-spacing:-1px;font-size:13px}.selection-delete-handle{color:var(--danger)}.selection-handle svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.selection-rotate-handle,.selection-resize-handle,.selection-configure-handle{color:#2f6fed}.selection-handle:disabled{color:#9ca4b1;cursor:not-allowed;background:#edf0f4}.selection-menu{z-index:4;border:1px solid var(--line);pointer-events:auto;background:#fff;border-radius:13px;width:min(260px,100% - 24px);max-height:min(430px,100% - 48px);padding:7px;position:absolute;overflow:auto;box-shadow:0 16px 42px #1923343d}.selection-menu button{color:#435168;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 11px;display:flex}.selection-menu-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 21px;width:21px;height:21px}.selection-menu button:hover{background:#f0effc}.selection-menu hr{border:0;border-top:1px solid var(--line);margin:5px 3px}.selection-rotation-pivot{z-index:3;pointer-events:none;background:#fff;border:3px solid #6a59e8;border-radius:50%;width:15px;height:15px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #6a59e82e}.shape-style-bar{z-index:5;border:1px solid var(--line);pointer-events:auto;background:#fffffffa;border-radius:13px;align-items:center;gap:9px;min-height:52px;padding:5px 8px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 28px #19233433}.shared-color-picker{position:relative}.shared-color-trigger{min-height:44px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #c6ccd7;border-radius:10px;align-items:center;gap:7px;padding:3px 6px 3px 10px;font-size:10px;font-weight:800;display:flex}.shared-color-trigger i{border:1px solid #aeb6c2;border-radius:8px;width:34px;height:34px;box-shadow:inset 0 0 0 2px #fff}.shared-color-popover{z-index:10;border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;width:min(430px,100vw - 28px);padding:13px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 16px 44px #19233440}.shared-color-popover>strong{color:#46546a;font-size:11px}.shared-color-row{flex-wrap:wrap;gap:5px;display:flex}.shared-color-row .color-swatch,.shared-custom-color{width:44px;height:44px}.shared-custom-color{color:#536074;cursor:pointer;background:#f6f7f9;border:1px dashed #adb5c2;border-radius:50%;place-items:center;font-size:23px;display:grid;position:relative}.shared-custom-color input{opacity:0;width:1px;height:1px;position:absolute}.shape-shade-control{color:var(--muted);align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.shape-shade-control>div{gap:3px;display:flex}.shape-shade-control button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;width:44px;height:44px;position:relative}.shape-shade-control button:before{content:"";width:18px;height:18px;box-shadow:calc(var(--shade-index,0) * 1px) calc(var(--shade-index,0) * 2px) calc(var(--shade-index,0) * 3px) #0f172a73;background:#334155;border-radius:50%;position:absolute;top:11px;left:11px}.shape-shade-control button:first-child{--shade-index:0}.shape-shade-control button:nth-child(2){--shade-index:1}.shape-shade-control button:nth-child(3){--shade-index:2}.shape-shade-control button:nth-child(4){--shade-index:3}.shape-shade-control button:nth-child(5){--shade-index:4}.shape-shade-control button.is-selected{background:var(--brand-soft);border-color:#aaa1f0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shape-panel{width:min(900px,100% - 36px)}.shape-groups{grid-template-columns:2fr 1fr;gap:20px;display:grid}.shape-groups>section+section{border-left:1px solid var(--line);padding-left:20px}.shape-groups h3{margin-bottom:10px}.shape-grid{grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px;display:grid}.shape-groups>section:last-child .shape-grid{grid-template-columns:repeat(2,minmax(92px,1fr))}.shape-grid button{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:82px;padding:7px;display:flex}.shape-grid button:hover{background:#fff;border-color:#cbd2dd}.shape-grid button.is-selected{color:var(--brand-dark);background:var(--brand-soft);border-color:#aaa1f0}.shape-grid svg{width:48px;height:36px}.shape-grid span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;overflow:hidden}.educational-tools-panel{width:min(1040px,100% - 36px);padding:0;overflow:hidden}.educational-tools-panel>header{border-bottom:1px solid var(--line);margin:0;padding:20px 22px 15px}.educational-tools-layout{grid-template-columns:276px minmax(0,1fr);min-height:520px;display:grid}.educational-tools-layout>nav{background:#eef9ff;border-right:1px solid #dbe5ee;flex-direction:column;gap:4px;padding:16px;display:flex;overflow-y:auto}.educational-tools-layout>nav button{color:#38516a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;min-height:48px;padding:7px 12px;display:flex}.educational-tools-layout>nav button span{text-align:center;flex:0 0 28px;width:28px;font-size:21px}.educational-tools-layout>nav button.is-selected{color:#145f91;background:#cceafb;font-weight:800}.educational-tool-grid{grid-template-columns:repeat(4,minmax(125px,1fr));align-content:start;gap:14px;padding:22px;display:grid;overflow-y:auto}.educational-tool-grid button{color:#405269;background:#fff3bf;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:132px;padding:12px 8px;display:flex}.educational-tool-grid button:disabled{opacity:1;cursor:default}.educational-tool-grid button.is-available{cursor:pointer;background:#dff4ff;border-color:#68b8e7;box-shadow:0 5px 16px #2070a01f}.educational-tool-grid button.is-available:hover{background:#cef;border-color:#2388c5}.educational-tool-grid button.is-available small{color:#126a9f}.educational-tool-icon{place-items:center;min-width:56px;min-height:50px;font-size:34px;line-height:1;display:grid}.educational-tool-grid strong{text-align:center;font-size:13px;font-weight:750}.educational-tool-grid small{color:#748195;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:750}.catalog-tool-svg{width:58px;height:58px;overflow:visible}.catalog-timer-ring{fill:#fff;stroke:#d8dde6;stroke-width:5px}.catalog-timer-needle{fill:none;stroke:#253242;stroke-width:4px;stroke-linecap:round}.catalog-timer-pin{fill:#e1e6ed;stroke:#253242;stroke-width:2px}.educational-tool-object{z-index:11;transform-origin:50%;pointer-events:auto;touch-action:none;position:absolute}.educational-tool-object.is-pointer-active:not(.is-locked){cursor:move}.educational-tool-object button,.educational-tool-object input,.educational-tool-object select,.educational-tool-object label{cursor:pointer}.work-timer,.traffic-light-tool,.simple-timer,.hourglass-tool,.voice-level-tool,.student-picker-tool{color:#344054;cursor:default;background:#fff;border:1px solid #cbd3df;border-radius:16px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f29371f}.work-timer{flex-direction:column;align-items:center;gap:9px;padding:20px 22px 16px;display:flex;overflow:auto}.work-timer-clock{aspect-ratio:1;flex:0 auto;width:min(72%,310px);min-height:190px}.work-timer-clock svg,.simple-timer-clock svg{filter:drop-shadow(0 6px 8px #1f29371f);width:100%;height:100%;overflow:visible}.timer-ring{fill:#fff;stroke:#e5e8ef;stroke-width:7px}.timer-glass{fill:#ffffff1a;stroke:#8a97a8;stroke-width:.7px}.timer-needle{stroke:#263343;stroke-width:2.2px;stroke-linecap:round;transition:transform .1s linear}.timer-pin{fill:#dfe4eb;stroke:#263343;stroke-width:2px}.work-timer-time{color:#405066;min-height:44px;font-size:clamp(24px, calc(30px * var(--board-scale,1)), 38px);font-variant-numeric:tabular-nums;align-self:stretch;place-items:center;font-weight:800;display:grid}.work-timer-presets{grid-template-columns:repeat(7,minmax(44px,1fr));align-self:stretch;gap:6px;display:grid}.work-timer-presets button{color:#fff;background:var(--timer-color);border:2px solid #0000;border-radius:8px;min-width:44px;min-height:44px;padding:4px;font-weight:850;box-shadow:inset 0 -2px #0000001f}.work-timer-presets button:disabled{opacity:.3;cursor:not-allowed}.work-timer-presets.is-editing button:not(.timer-edit-colors-button){box-shadow:inset 0 0 0 2px #ffffffb8}.work-timer-presets button.is-selected{outline-offset:-4px;border-color:#162235;outline:2px solid #fff}.work-timer-presets .timer-edit-colors-button{color:#526174;background:#e6e9ee}.timer-preset-palette{background:#f7f8fa;border:1px solid #d8dee7;border-radius:10px;flex-wrap:wrap;justify-content:center;align-self:stretch;gap:5px;padding:8px;display:flex}.timer-preset-palette button,.timer-color-settings button{background:var(--choice-color);border:2px solid #0000;border-radius:50%;width:44px;height:44px;position:relative;box-shadow:inset 0 0 0 1px #1e293b33}.timer-preset-palette button.is-selected,.timer-color-settings button.is-selected{outline-offset:-5px;border-color:#1f6fb5;outline:2px solid #fff}.timer-status{color:#a23845;text-align:center;min-height:18px;margin:0;font-size:11px;font-weight:700}.work-timer-actions{grid-template-columns:1fr 1fr;align-self:stretch;align-items:center;gap:10px;margin-top:auto;display:grid}.work-timer-actions button{color:#506076;background:#eef1f5;border:1px solid #cbd2dc;border-radius:11px;justify-self:center;place-items:center;width:50px;min-width:50px;min-height:48px;padding:0;font-size:22px;font-weight:800;display:grid}.work-timer-actions .timer-play-button,.simple-timer-actions .timer-play-button{color:#fff;background:#2f88df;border-color:#2078cc}.work-timer-actions .timer-play-button{justify-self:start}.work-timer-actions button:last-child{justify-self:end}.timer-control-icon{fill:currentColor;filter:drop-shadow(0 1px 1px #00000029);width:25px;height:25px;display:block;overflow:visible}.timer-control-icon.is-play{transform:translate(1px)}.timer-reset-icon{fill:none;stroke:currentColor;stroke-width:2.15px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px;display:block}.timer-reset-button{transition:color .16s,border-color .16s,background .16s,transform .16s}.timer-reset-button:hover{color:#2e68a7;background:#e6f1fc;border-color:#9db9d8}.timer-reset-button:active{transform:rotate(-22deg)scale(.96)}.traffic-light-tool{place-items:center;padding:26px;display:grid}.traffic-light-body{gap:10px;width:min(100%,270px);padding:18px 0;display:grid;position:relative}.traffic-light-body:before{content:"";z-index:0;background:#3d4958;border:8px solid #5a6878;border-radius:64px;width:128px;position:absolute;inset:0 auto 0 0;box-shadow:0 8px 18px #1f293733}.traffic-light-body:not(:has(.traffic-light-label)){width:128px}.traffic-light-row{z-index:1;align-items:center;gap:14px;min-height:102px;padding-left:14px;display:flex;position:relative}.traffic-light-bulb{background:#16202b;border:3px solid #26313e;border-radius:50%;flex:0 0 100px;place-items:center;width:100px;height:100px;padding:0;display:grid;box-shadow:inset 0 10px 18px #00000061}.traffic-light-bulb span{opacity:.27;border-radius:50%;width:82px;height:82px;transition:opacity .16s,box-shadow .16s}.traffic-light-bulb.is-red span{background:#ef3434}.traffic-light-bulb.is-amber span{background:#f5b82e}.traffic-light-bulb.is-green span{background:#31b85c}.traffic-light-bulb.is-active span{opacity:1;box-shadow:inset 14px 14px 18px #fff3,0 0 24px}.traffic-light-label{color:#fff;overflow-wrap:anywhere;background:#ffffff1f;border-radius:8px;min-width:0;padding:8px 10px;font-size:16px;font-weight:800}.simple-timer{flex-direction:column;gap:12px;padding:18px;display:flex}.simple-timer-clock{touch-action:none;cursor:crosshair;flex:auto;min-height:0}.simple-timer-frame{fill:#eef0f4;stroke:#d8dde6;stroke-width:3px}.simple-timer-face{fill:#fff;stroke:#68768a;stroke-width:.8px}.timer-tick{stroke:#182230;stroke-width:.45px}.timer-tick.is-major{stroke-width:.85px}.timer-number{fill:#172131;text-anchor:middle;font-size:4.5px;font-weight:800}.simple-timer-actions{grid-template-columns:52px 1fr 52px;align-items:center;gap:10px;min-height:54px;display:grid}.simple-timer-actions button{color:#506076;background:#eef1f5;border:1px solid #cbd2dc;border-radius:11px;place-items:center;min-width:48px;min-height:48px;padding:0;font-size:20px;font-weight:800;display:grid}.simple-timer-actions output{font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d4dae3;border-radius:9px;place-items:center;min-height:48px;font-size:22px;font-weight:850;display:grid}.hourglass-tool{background:radial-gradient(circle at 50% 35%,#fff 0,#fbf8f2 58%,#eee6d9 100%);flex-direction:column;align-items:center;gap:9px;padding:18px 22px;display:flex}.hourglass-visual{flex:auto;place-items:center;min-height:0;display:grid}.hourglass-visual svg{filter:drop-shadow(0 12px 11px #452b1633);width:min(100%,285px);height:100%;max-height:430px;overflow:visible}.hourglass-time{color:#513722;font-variant-numeric:tabular-nums;place-items:center;min-height:42px;font-size:28px;font-weight:850;display:grid}.hourglass-actions{justify-content:space-between;width:100%;display:flex}.hourglass-actions button{color:#65472e;background:#f3eadc;border:1px solid #d4c6b4;border-radius:11px;place-items:center;width:50px;height:48px;padding:0;font-size:23px;font-weight:800;display:grid}.hourglass-actions .timer-play-button{color:#fff;background:linear-gradient(#d89b4b,#a96728);border-color:#9d672c;box-shadow:inset 0 1px #ffffff4d,0 4px 10px #65472e38}.hourglass-stream{animation:.55s linear infinite sand-stream}.hourglass-grain{animation:.85s linear infinite falling-grain}.hourglass-grain.is-two{animation-delay:-.42s}@keyframes sand-stream{50%{opacity:.58}}@keyframes falling-grain{0%{opacity:0;transform:translateY(-9px)}25%{opacity:1}to{opacity:0;transform:translateY(13px)}}.voice-level-tool{background:linear-gradient(145deg,#fff 0%,#f5f8fc 100%);grid-template-rows:auto 1fr auto;padding:20px 24px;display:grid}.voice-level-tool>header{color:#344054;min-height:46px;font-size:clamp(18px, calc(22px * var(--board-scale,1)), 28px);align-items:center;gap:12px;display:flex}.voice-level-pulse{align-items:center;gap:3px;height:30px;display:flex}.voice-level-pulse i{background:#52759a;border-radius:3px;width:4px;height:12px}.voice-level-pulse i:nth-child(2){height:24px}.voice-level-pulse i:nth-child(3){height:17px}.voice-level-content{grid-template-columns:minmax(100px,30%) 1fr;gap:18px;min-height:0;padding:12px 0;display:grid}.voice-level-meter{grid-template-rows:18px 1fr 18px;min-height:0;padding:0 12px;display:grid}.voice-level-cap{z-index:2;background:linear-gradient(#768596,#3d4b5b);border:4px solid #344456;border-radius:18px 18px 7px 7px;justify-self:center;width:calc(100% + 18px);height:28px;position:relative;box-shadow:inset 0 2px 2px #ffffff59}.voice-level-cap.is-bottom{transform:rotate(180deg)}.voice-level-segments{background:#344456;border-left:6px solid #344456;border-right:6px solid #344456;min-height:0;display:grid}.voice-level-segments button{background:var(--level-color);border:0;border-top:2px solid #ffffff6b;min-height:44px;padding:0;transition:filter .14s,transform .14s;position:relative}.voice-level-segments button:first-child{border-top:0}.voice-level-segments button:hover{filter:brightness(1.08)}.voice-level-segments button.is-selected{z-index:1;filter:saturate(1.15)brightness(1.06);box-shadow:inset 0 0 0 4px #ffffffc7}.voice-level-indicator{opacity:0;filter:drop-shadow(3px 3px 4px #0f172a33);background:#f8fbff;border:4px solid #344456;border-left:0;border-radius:0 14px 14px 0;width:40px;height:30px;position:absolute;top:50%;right:-38px;transform:translateY(-50%)}.voice-level-indicator:before{content:"";border-top:11px solid #0000;border-bottom:11px solid #0000;border-right:13px solid #344456;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.voice-level-indicator:after{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-right:9px solid #f8fbff;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.voice-level-segments button.is-selected .voice-level-indicator{opacity:1}.voice-level-labels{align-items:stretch;min-height:0;display:grid}.voice-level-labels button{color:#55657a;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:4px 10px;font-weight:750;display:flex}.voice-level-labels button i{opacity:0;border-radius:50%;flex:0 0 11px;width:11px;height:11px}.voice-level-labels button.is-visible i{opacity:1}.voice-level-labels button.is-selected{color:#1f2b3b;background:#eaf0f7;font-weight:850}.voice-level-tool>footer{border-top:1px solid #dbe1e9;justify-content:center;align-items:center;gap:9px;min-height:48px;display:flex}.voice-level-tool>footer>span{border-radius:50%;width:13px;height:13px}.voice-level-name-settings{grid-column:span 2;grid-template-columns:repeat(3,minmax(180px,1fr));align-items:start!important;display:grid!important}.voice-level-name-settings>label{grid-template-columns:24px 1fr;display:grid!important}.voice-level-name-settings>label span{text-align:center;font-weight:850}.student-picker-tool{background:radial-gradient(circle at 90% 0,#e0f6ff 0,#0000 36%),linear-gradient(145deg,#fff 0,#f7fbff 100%);grid-template-rows:auto 1fr auto auto;gap:10px;padding:22px 24px 20px;display:grid}.student-picker-tool>header{align-items:center;gap:13px;min-height:58px;display:flex}.student-picker-tool>header>div{gap:2px;min-width:0;display:grid}.student-picker-tool>header span{color:#718096;letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:750}.student-picker-tool>header strong{color:#273548;font-size:clamp(18px, calc(22px * var(--board-scale,1)), 26px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-picker-mark{background:linear-gradient(145deg,#5fc0e1,#2f91c7);border-radius:16px;flex:0 0 52px;width:52px;height:52px;display:block;position:relative;box-shadow:0 5px 13px #267eb13b}.student-picker-mark i{background:#fff;border-radius:50%;width:13px;height:13px;position:absolute;top:10px;left:11px;box-shadow:19px 5px 0 -2px #ffe29c}.student-picker-mark i+i{border-radius:13px 13px 6px 6px;width:22px;height:11px;top:26px;left:6px;box-shadow:21px 3px 0 -3px #ffe29c}.student-picker-mark b{color:#fff;font-size:20px;position:absolute;bottom:4px;right:6px;transform:rotate(-17deg)}.student-picker-result{color:#738197;text-align:center;background:#ffffffb8;border:2px dashed #b8c6d8;border-radius:20px;place-items:center;min-height:112px;padding:14px 20px;display:grid}.student-picker-result span{max-width:100%;font-size:clamp(22px, calc(34px * var(--board-scale,1)), 44px);text-overflow:ellipsis;white-space:nowrap;font-weight:900;line-height:1.05;overflow:hidden}.student-picker-result.has-name{color:#1f5f86;background:linear-gradient(135deg,#eefaff,#fff9e8);border-style:solid;border-color:#78c7e6;box-shadow:inset 0 0 0 5px #ffffffad}.student-picker-result.is-rolling span{animation:.18s ease-in-out infinite alternate student-name-roll}.student-picker-status{color:#718096;justify-content:space-between;gap:10px;min-height:22px;font-size:12px;font-weight:750;display:flex}.student-picker-tool>footer{grid-template-columns:1fr 52px;gap:10px;min-height:52px;display:grid}.student-picker-tool>footer button{border:1px solid #bed0df;border-radius:12px;min-height:48px;font-weight:850}.student-picker-primary{color:#fff;background:linear-gradient(#43a9db,#2785bd);justify-content:center;align-items:center;gap:9px;display:flex;box-shadow:inset 0 1px #ffffff45,0 5px 12px #2785bd33;border-color:#237fb5!important}.student-picker-primary svg,.student-picker-reset svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.student-picker-reset{color:#536579;background:#edf2f6;place-items:center;padding:0;display:grid}.student-picker-tool button:disabled{opacity:.48;cursor:default}@keyframes student-name-roll{0%{opacity:.55;transform:translateY(-3px)scale(.98)}to{opacity:1;transform:translateY(3px)scale(1.02)}}.educational-settings-sheet{z-index:35;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffffa;border:1px solid #ccd3df;border-radius:18px;grid-template-rows:auto auto auto;gap:16px;padding:18px 22px;display:grid;position:absolute;bottom:18px;left:18px;right:18px;box-shadow:0 18px 54px #0f172a3d}.educational-settings-sheet>header,.educational-settings-sheet>footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.educational-settings-sheet>header{border-bottom:1px solid var(--line);padding-bottom:12px}.educational-settings-sheet h2{margin:2px 0 0;font-size:21px}.educational-settings-content{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:16px;display:grid}.educational-settings-content>label{color:#3d4a5f;gap:7px;font-size:12px;font-weight:800;display:grid}.educational-settings-content input[type=text],.educational-settings-content input[type=number],.educational-settings-content select,.educational-settings-content textarea{background:#fff;border:1px solid #cbd2dd;border-radius:10px;width:100%;min-height:48px;padding:0 12px}.educational-settings-content textarea{resize:vertical;font:inherit;padding:10px 12px;line-height:1.45}.educational-settings-content fieldset{border:1px solid #d8dde6;border-radius:11px;flex-wrap:wrap;align-items:center;gap:12px;min-height:80px;margin:0;padding:10px 13px;display:flex}.educational-settings-content fieldset legend{color:#3d4a5f;padding:0 5px;font-size:12px;font-weight:850}.educational-settings-content fieldset label{align-items:center;gap:7px;min-height:44px;font-size:12px;display:flex}.educational-settings-content input[type=radio]{width:22px;height:22px}.external-color-choices{flex-wrap:wrap;gap:7px;display:flex}.external-color-choices button{background:var(--choice-color);border:3px solid #fff;border-radius:50%;width:44px;height:44px;box-shadow:0 0 0 1px #aab3c0}.external-color-choices button.is-selected{box-shadow:0 0 0 3px var(--brand)}.student-list-settings{background:#f8fbfd;border:1px solid #d8e3ec;border-radius:14px;grid-column:span 2;grid-template-columns:minmax(210px,.7fr) minmax(320px,1.3fr);gap:12px 16px;padding:15px;display:grid}.student-list-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.student-list-heading>div{gap:3px;display:grid}.student-list-heading>div strong{color:#29384b;font-size:17px}.student-list-heading button{color:#216e9e;background:#fff;border:1px solid #b9ccdc;border-radius:10px;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-weight:800;display:flex}.student-list-settings>label{color:#3d4a5f;align-content:start;gap:7px;font-size:12px;font-weight:800;display:grid}.student-list-settings>p{color:#64748b;grid-column:2;margin:-6px 0 0;font-size:11px;font-weight:700}.student-list-settings>p.is-invalid{color:#b33b4b}.student-picker-options{grid-column:span 2;grid-template-columns:repeat(2,minmax(220px,1fr));align-items:stretch!important;display:grid!important}.student-picker-options label{background:#f7f9fc;border-radius:9px;padding:7px 8px;align-items:flex-start!important}.student-picker-options input{flex:0 0 22px;width:22px;height:22px}.student-picker-options label span{gap:3px;display:grid}.student-picker-options label strong{color:#344054;font-size:12px}.student-picker-options label small{color:#718096;font-weight:600;line-height:1.35}.transparent-swatch,.shared-color-trigger i.is-transparent{background-color:#fff;background-image:linear-gradient(45deg,#cfd5df 25%,#0000 25%),linear-gradient(-45deg,#cfd5df 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#cfd5df 75%),linear-gradient(-45deg,#0000 75%,#cfd5df 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.educational-settings-sheet>footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:12px}.educational-settings-sheet>footer button{background:#fff;border:1px solid #cbd2dd;border-radius:10px;min-width:110px;min-height:46px;padding:0 18px;font-weight:800}.educational-settings-sheet>footer .primary-button{color:#fff;border-color:var(--brand-dark);background:var(--brand)}.lesson-library-overlay,.board-mosaic-overlay{z-index:50;background:#f8fafc;padding:28px clamp(18px,4vw,64px);position:absolute;inset:0;overflow:auto}.lesson-library-header,.board-mosaic-overlay>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.lesson-library-header h1,.board-mosaic-overlay h2{margin:2px 0 4px;font-size:28px}.lesson-library-header p,.board-mosaic-overlay header p{color:var(--muted);margin:0}.lesson-library-toolbar{justify-content:space-between;gap:12px;margin:20px 0 12px;display:flex}.lesson-library-toolbar>button,.lesson-library-breadcrumb button,.lesson-library-create-row button{color:#425069;background:#fff;border:1px solid #ccd4e0;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 16px;font-weight:750;display:inline-flex}.lesson-library-toolbar button svg,.lesson-library-create-row button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.lesson-search{background:#fff;border:1px solid #ccd4e0;border-radius:10px;flex:1;align-items:center;gap:9px;min-width:240px;min-height:48px;padding:0 13px;display:flex}.lesson-search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.lesson-library-breadcrumb{min-height:44px;color:var(--muted);align-items:center;gap:8px;display:flex}.lesson-library-breadcrumb button{color:var(--brand-dark);background:0 0;border:0}.lesson-library-create-row{flex-wrap:wrap;gap:12px;margin:4px 0 22px;display:flex}.lesson-library-create-row .primary-button{color:#fff;border-color:var(--brand-dark);background:var(--brand)}.lesson-library-grid,.board-mosaic-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:20px;display:grid}.folder-card,.lesson-card,.board-mosaic-card,.board-mosaic-grid>button{background:#fff;border:1px solid #d5dce7;border-radius:15px;min-width:0;position:relative;box-shadow:0 7px 20px #19233412}.folder-card{color:#3f526c;cursor:pointer;align-content:center;place-items:center;gap:7px;min-height:170px;display:grid}.folder-card .folder-card-icon{color:#42a8dc;place-items:center;width:76px;height:66px;display:grid}.folder-card .folder-card-icon svg{fill:#bceaff;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:72px;height:72px}.folder-card small,.lesson-card small{color:var(--muted)}.lesson-card.is-active,.board-mosaic-card.is-active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.lesson-card-open{text-align:left;cursor:pointer;background:0 0;border:0;gap:8px;width:100%;padding:12px 12px 16px;display:grid}.board-thumbnail{aspect-ratio:1920/900;background:#fff;border:1px solid #e0e5ec;border-radius:9px;width:100%}.lesson-export-button{width:44px;height:44px;color:var(--brand-dark);background:#eef0ff;border:0;border-radius:9px;font-size:22px;position:absolute;bottom:8px;right:8px}.lesson-library-status{color:#35634d;min-height:22px;font-weight:700}.lesson-creation-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d25347a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.lesson-creation-dialog{background:#fff;border:1px solid #d8deea;border-radius:20px;grid-template-columns:58px 1fr;gap:16px;width:min(480px,100%);padding:24px;display:grid;box-shadow:0 24px 70px #11182747}.lesson-creation-icon{width:58px;height:58px;color:var(--brand-dark);background:var(--brand-soft);border-radius:16px;grid-row:span 2;place-items:center;display:grid}.lesson-creation-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.lesson-creation-dialog h2{margin:3px 0 0;font-size:22px}.lesson-creation-dialog label{color:#3d4a5f;grid-column:1/-1;gap:7px;font-size:13px;font-weight:800;display:grid}.lesson-creation-dialog input{width:100%;min-height:50px;font:inherit;border:1px solid #bdc7d7;border-radius:11px;padding:0 13px}.lesson-creation-dialog footer{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.lesson-creation-dialog footer button{background:#fff;border:1px solid #cbd3df;border-radius:10px;min-width:108px;min-height:46px;padding:0 16px;font-weight:800}.lesson-creation-dialog footer .primary-button{color:#fff;border-color:var(--brand-dark);background:var(--brand)}.board-mosaic-grid{margin-top:24px}.board-mosaic-card.is-selected{border-color:#2f6fed;box-shadow:0 0 0 3px #2f6fed2e}.board-mosaic-open{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:9px;width:100%;padding:12px;display:grid}.board-mosaic-open>span{align-items:center;gap:8px;display:flex}.board-mosaic-open>span b{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.board-selection-check{z-index:2;cursor:pointer;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:4px;left:4px}.board-selection-check input{opacity:0;position:absolute}.board-selection-check span{color:#0000;background:#fff;border:2px solid #9da9ba;border-radius:8px;place-items:center;width:27px;height:27px;display:grid;box-shadow:0 2px 8px #0f172a2e}.board-selection-check input:focus-visible+span{outline-offset:2px;outline:3px solid #2f6fed59}.board-selection-check input:checked+span{color:#fff;border-color:var(--brand);background:var(--brand)}.board-selection-toolbar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1px solid #d8deea;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 -6px;padding:10px 12px;display:flex;position:sticky;top:-28px;box-shadow:0 8px 22px #0f172a1a}.board-selection-toolbar strong{color:#344054;margin-right:auto}.board-selection-toolbar button{color:#344054;background:#fff;border:1px solid #cbd3df;border-radius:9px;align-items:center;gap:6px;min-height:44px;padding:0 11px;font-weight:750;display:inline-flex}.board-selection-toolbar button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.board-selection-toolbar .danger-button{color:#b42331;border-color:#efc4c9}.board-selection-toolbar button:disabled{opacity:.45}.board-mosaic-grid .add-board-card{text-align:center;min-height:190px;color:var(--brand-dark);background:var(--brand-soft);align-content:center;place-items:center}.board-mosaic-grid .add-board-card>span{font-size:58px;line-height:1;display:block}.selection-menu button[data-pinned=true]{color:#16653d;background:#ebf8f0}.tool-settings{z-index:8;background:#fffffffa;border-radius:15px;flex-direction:column;padding:18px;display:flex;position:absolute;inset:0;box-shadow:0 8px 28px #0f172a40}.tool-settings header,.tool-settings footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.tool-settings header{border-bottom:1px solid #d8dde5;min-height:48px;padding-bottom:10px}.tool-settings header button{background:#f0f2f6;border:0;border-radius:8px;width:44px;height:44px;font-size:22px}.tool-settings-fields{gap:14px;margin:16px 0;display:grid;overflow-y:auto}.tool-settings-fields>label{gap:7px;font-size:12px;font-weight:800;display:grid}.tool-settings input[type=text],.tool-settings input[type=number],.tool-settings select{background:#fff;border:1px solid #cbd2dc;border-radius:9px;min-height:48px;padding:0 10px}.tool-settings fieldset{border:1px solid #d8dde5;border-radius:10px;gap:7px;margin:0;padding:11px;display:grid}.tool-settings legend{padding:0 5px;font-size:12px;font-weight:850}.tool-settings fieldset label{align-items:center;gap:9px;min-height:44px;font-size:12px;display:flex}.tool-settings fieldset input[type=radio]{width:22px;height:22px}.timer-color-settings>div{flex-wrap:wrap;gap:5px;display:flex}.tool-settings footer{border-top:1px solid #d8dde5;justify-content:flex-end;margin-top:auto;padding-top:12px}.tool-settings footer button{background:#fff;border:1px solid #cbd2dc;border-radius:9px;min-height:44px;padding:0 18px;font-weight:800}.tool-settings footer .primary-button{color:#fff;background:#2f88df;border-color:#1f72c5}.settings-panel{width:min(520px,100% - 36px)}.position-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px;display:grid}.position-grid button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:94px;display:flex}.position-grid button:hover{background:#f7f7fb}.position-grid button.is-selected{color:var(--brand-dark);background:var(--brand-soft);border-color:#aaa1f0}.position-grid b{font-size:27px;line-height:1}.position-grid span{font-size:12px;font-weight:750}.settings-note{background:#f3f4f7;border-radius:11px;padding:12px 14px;margin-top:18px!important}@media (max-width:760px){.whiteboard-canvas{padding:10px}.educational-settings-sheet{padding:14px;bottom:10px;left:10px;right:10px}.educational-settings-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-library-overlay,.board-mosaic-overlay{padding:18px 12px}.lesson-library-toolbar{flex-direction:column}.lesson-library-create-row input{min-width:min(230px,100%)}.color-group{grid-template-columns:repeat(6,42px);justify-content:start}.highlighter-colors{grid-template-columns:repeat(4,minmax(44px,1fr))}.position-grid{grid-template-columns:repeat(2,1fr)}.thickness-block{grid-template-columns:1fr}.tool-panel{padding:18px}.text-format-panel{width:calc(100% - 20px);padding:9px;bottom:10px}.text-format-toolbar{max-height:230px;overflow-y:auto}.text-color-row{grid-template-columns:repeat(6,44px)}.format-group{border-right:0}.shape-groups{grid-template-columns:1fr}.shape-groups>section+section{border-top:1px solid var(--line);border-left:0;padding-top:16px;padding-left:0}.shape-grid,.shape-groups>section:last-child .shape-grid{grid-template-columns:repeat(3,minmax(84px,1fr))}.shape-style-bar{max-width:calc(100% - 16px);overflow-x:auto}.educational-tools-panel{width:calc(100% - 20px)}.educational-tools-layout{grid-template-columns:1fr;min-height:0}.educational-tools-layout>nav{border-bottom:1px solid #dbe5ee;border-right:0;max-height:190px}.educational-tool-grid{grid-template-columns:repeat(2,minmax(118px,1fr))}.link-editor{grid-template-columns:1fr}.text-editor-actions{flex-wrap:wrap}}@media (max-height:650px){.whiteboard-canvas{padding-block:10px}.tool-panel{max-height:calc(100% - 18px)}}@media (max-width:1240px){.toolbar-bottom .tool-button,.toolbar-top .tool-button{min-width:50px;min-height:58px}.toolbar-bottom .tool-button>span:last-child,.toolbar-top .tool-button>span:last-child{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-bottom .toolbar-lesson-button,.toolbar-top .toolbar-lesson-button{max-width:52px;padding:0}.toolbar-bottom .toolbar-lesson-button>span:last-child,.toolbar-top .toolbar-lesson-button>span:last-child{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-bottom .toolbar,.toolbar-top .toolbar{min-height:70px}}@media (max-width:880px){.toolbar-bottom .toolbar,.toolbar-top .toolbar{gap:2px;padding-inline:6px;overflow-x:auto}.toolbar-bottom .tool-button,.toolbar-top .tool-button{min-width:46px}.toolbar-bottom .toolbar-history,.toolbar-bottom .toolbar-main,.toolbar-top .toolbar-history,.toolbar-top .toolbar-main{gap:0}.toolbar-bottom .toolbar-divider,.toolbar-top .toolbar-divider{margin-inline:1px}.toolbar-bottom .toolbar-spacer,.toolbar-top .toolbar-spacer{min-width:4px}.toolbar-bottom .toolbar-lesson-management,.toolbar-top .toolbar-lesson-management{gap:2px}.toolbar-bottom .save-chip,.toolbar-top .save-chip,.toolbar-bottom .toolbar-lesson-button,.toolbar-top .toolbar-lesson-button,.toolbar-bottom .toolbar-action-button,.toolbar-top .toolbar-action-button{min-width:44px}.toolbar-bottom .toolbar-board-navigation .board-position,.toolbar-top .toolbar-board-navigation .board-position{min-width:72px;padding-inline:7px}.toolbar-bottom .toolbar-board-navigation button,.toolbar-top .toolbar-board-navigation button{min-width:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
