.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.cm-chessboard .arrow-warning .arrow-head{fill:orange;fill-rule:nonzero}.cm-chessboard .arrow-warning .arrow-line{stroke:orange;stroke-linecap:round;opacity:.6}.cm-chessboard .arrow-danger .arrow-head{fill:red;fill-rule:nonzero}.cm-chessboard .arrow-danger .arrow-line{stroke:red;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-success .arrow-head{fill:green;fill-rule:nonzero}.cm-chessboard .arrow-success .arrow-line{stroke:green;stroke-linecap:round;opacity:.5}.cm-chessboard .arrow-info .arrow-head{fill:#00f;fill-rule:nonzero}.cm-chessboard .arrow-info .arrow-line{stroke:#00f;stroke-linecap:round;opacity:.4}.cm-chessboard .arrow-secondary .arrow-head{fill:#666;fill-rule:nonzero}.cm-chessboard .arrow-secondary .arrow-line{stroke:#666;stroke-linecap:butt;opacity:.5}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}svg.cm-chessboard .promotion-dialog-group rect,svg.cm-chessboard .promotion-dialog-group g[data-piece]{animation:.25s ease-in fade-in}svg.cm-chessboard .promotion-dialog-group .promotion-dialog{fill:#fff;fill-opacity:.7;stroke:#0006}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group{outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group:focus .promotion-dialog-button{stroke:#0000004d;stroke-width:1px}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button{fill:#0000;cursor:pointer;outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button:hover{fill:#0003}svg.cm-chessboard .promotion-dialog-group .piece{pointer-events:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{color:#252525;font-synthesis:none;background:#f6f3eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#app{flex-direction:column;min-height:100dvh;display:flex}button,select{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #cfc9bc;border-radius:10px;min-height:46px;padding:.65rem .9rem}button:hover{filter:brightness(.98)}button:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7ca9d8}.app-header{background:#fff;border-bottom:1px solid #ded8cd;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.brand{align-items:center;gap:.8rem;display:flex}.brand img{object-fit:contain;width:44px;height:44px}h1{margin:0;font-size:1.25rem}.brand p{color:#777;margin:.15rem 0 0;font-size:.85rem}.mode-pill{background:#efe7cf;border-radius:999px;padding:.45rem .9rem;font-weight:700}.mode-pill.teach{background:#dcebdc}.workspace{--board-max-size:max(320px, calc(100dvh - 205px));--sidebar-extra:max(0px, calc(100vw - var(--board-max-size) - 4.5rem - 515px));max-width:calc(var(--board-max-size) + 420px + 350px + 4.5rem);grid-template-columns:clamp(270px, calc(270px + var(--sidebar-extra) * .58), 420px) minmax(0, 1fr) clamp(245px, calc(245px + var(--sidebar-extra) * .42), 350px);grid-template-areas:"palette board settings";justify-content:center;align-items:start;gap:1rem;margin:0 auto;padding:1.25rem;display:grid}.workspace.teach-layout{--teach-nav-width:clamp(110px, 9vw, 145px);--annotation-width:clamp(245px, 20vw, 320px);--board-layout-size:var(--board-max-size);grid-template-columns:var(--teach-nav-width) minmax(0, var(--board-layout-size)) var(--teach-nav-width);max-width:calc(var(--board-layout-size) + var(--teach-nav-width) + var(--teach-nav-width) + 4.5rem);flex:1;grid-template-areas:"teach-nav board spacer";gap:.75rem;width:100%;display:grid}.workspace.teach-layout.lower-board{--board-layout-size:max(320px, calc(100dvh - 205px));--board-max-size:max(320px, calc((100dvh - 205px) * .7))}.workspace.teach-layout.lower-board .board-column{align-self:end}.workspace.teach-layout:after{content:"";grid-area:spacer}.workspace.teach-layout.annotations-open,.workspace.teach-layout.details-open{--teach-left-width:clamp(var(--teach-nav-width), calc(100vw - var(--board-layout-size) - var(--annotation-width) - 4.5rem), var(--annotation-width));grid-template-columns:var(--teach-left-width) minmax(0, var(--board-layout-size)) var(--annotation-width);max-width:calc(var(--board-layout-size) + var(--teach-left-width) + var(--annotation-width) + 4.5rem);grid-template-areas:"teach-nav board annotations"}.workspace.teach-layout.details-open{--annotation-width:clamp(285px, 22vw, 385px)}.workspace.teach-layout.annotations-open:after,.workspace.teach-layout.details-open:after{display:none}.workspace.teach-layout.annotations-open .teaching-toolbar,.workspace.teach-layout.details-open .teaching-toolbar{width:var(--teach-nav-width);justify-self:end}.setup-footer{background:#fff;border-top:1px solid #ded8cd;align-items:center;min-height:76px;margin-top:auto;padding:.6rem clamp(1rem,4vw,4rem);display:flex}.board-column{min-width:0;width:min(100%, var(--board-max-size));grid-area:board;justify-self:center;position:relative}.teach-layout .board-column{margin-inline:auto}.board-shell{background:#fff;border-radius:16px;padding:12px;position:relative;box-shadow:0 6px 26px #00000014}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;position:relative}.annotation-preview{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.annotation-preview .preview-line{stroke-width:.65px;stroke-linecap:round}.annotation-preview .preview-start{opacity:.9}.board-footer{flex-wrap:wrap;align-items:stretch;gap:.6rem;margin-top:.8rem;display:flex}.status{background:#fff;border:1px solid #ded8cd;border-radius:10px;flex:1;min-width:0;min-height:2.75rem;padding:.65rem .8rem}.error-toast{z-index:30;color:#4b2020;overflow-wrap:anywhere;background:#fff7f5;border:1px solid #bd6969;border-left:6px solid #ad4545;border-radius:12px;align-items:flex-start;gap:.75rem;width:min(360px,100% - 2rem);padding:.85rem .9rem;font-weight:700;line-height:1.35;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0000002e}.error-toast span{flex:1}.error-toast button{min-width:36px;min-height:36px;color:inherit;background:0 0;border:0;flex:none;margin:-.35rem -.35rem -.35rem 0;padding:.2rem;font-size:1.1rem}.game-outcome{z-index:20;color:#244b29;text-align:center;background:#f2f8ee;border:1px solid #41643f;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;width:max-content;max-width:calc(100% - 3rem);padding:.7rem .9rem;font-size:clamp(1rem,1.3vw,1.35rem);font-weight:800;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0000002e}.game-outcome button{min-height:44px;font-weight:700}.game-outcome .game-outcome-close{min-width:36px;min-height:36px;color:inherit;background:0 0;border:0;padding:.2rem}.teach-controls{flex-wrap:wrap;gap:.6rem;display:flex}.teach-layout .teach-controls{order:0}.teach-controls button{min-height:52px}.flip-button,.lower-board-button,.fullscreen-button{justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.board-control-icon{fill:none;stroke:currentColor;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:26px;height:26px}.fullscreen-button .board-control-icon{stroke-width:2.8px}.fullscreen-exit-icon,.fullscreen-button[aria-pressed=true] .fullscreen-enter-icon{display:none}.fullscreen-button[aria-pressed=true] .fullscreen-exit-icon{display:block}.raise-board-icon,.lower-board-button[aria-pressed=true] .lower-board-icon{display:none}.lower-board-button[aria-pressed=true] .raise-board-icon{display:block}.flip-button{flex:none;min-width:116px}.teach-layout .flip-button{order:2;margin-left:auto}.lower-board-button{flex:none;min-width:128px}.teach-layout .lower-board-button{order:3}.fullscreen-button{flex:none;min-width:120px}.teach-layout .fullscreen-button{order:4}.lower-board .flip-button,.lower-board .lower-board-button,.lower-board .fullscreen-button{width:52px;min-width:52px;padding:.5rem}.lower-board .flip-button span,.lower-board .lower-board-button span,.lower-board .fullscreen-button span{display:none}html:fullscreen .board-control-icon{width:clamp(26px,2dvh,34px);height:clamp(26px,2dvh,34px)}.teaching-toolbar,.annotation-panel,.lesson-controls-card,.lesson-description-card{background:#fff;border:1px solid #ded8cd;border-radius:14px;box-shadow:0 4px 16px #0000000d}.teaching-toolbar{grid-area:teach-nav;align-self:start;gap:.35rem;padding:.45rem;display:grid}.teaching-toolbar button{flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-width:0;min-height:62px;padding:.3rem .15rem;font-size:clamp(.82rem,1vw,1rem);font-weight:700;line-height:1.1;display:flex}.teaching-toolbar button span{font-size:1.45rem;line-height:1}.teaching-toolbar button small{color:#666;font-size:.7rem}.teaching-toolbar button[aria-expanded=true]{background:#e4f0e2;border:2px solid #41643f}.teaching-toolbar button:disabled{opacity:.55;cursor:default}.compact-move-navigation{text-align:center;border-top:1px solid #ded8cd;margin-top:.25rem;padding-top:.65rem}.compact-move-navigation>span{color:#41643f;font-size:.8rem;font-weight:800}.compact-move-navigation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.4rem;display:grid}.teaching-toolbar .compact-move-navigation button{min-height:44px;font-size:1.15rem}.compact-move-navigation>small{color:#5a554d;margin-top:.4rem;display:block}.annotation-panel{grid-area:annotations;align-self:start;max-height:calc(100dvh - 1.5rem);padding:.7rem;overflow-y:auto}.lesson-panel{flex-direction:column;grid-area:annotations;align-self:start;gap:.65rem;min-height:0;max-height:calc(100dvh - 6.5rem);display:flex}.lesson-controls-card{flex:none;padding:1rem}.mini-placement{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.mini-placement p{flex-basis:100%;margin:0 0 .2rem;font-size:.88rem}.mini-placement button{min-height:42px;padding:.3rem .55rem}.mini-placement button[aria-pressed=true]{background:#e4f0e2;border:2px solid #41643f}.lesson-description-card{min-height:0;padding:1rem 1.1rem;overflow-y:auto}.lesson-notes-heading{color:#41643f;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.82rem;font-weight:800;display:flex}.lesson-notes-heading button{color:#252525;letter-spacing:0;text-transform:none;min-height:40px;padding:.3rem .6rem;font-size:.85rem;font-weight:700}.workspace.teach-layout.lower-board .annotation-panel,.workspace.teach-layout.lower-board .lesson-panel{align-self:end}.lesson-panel-heading{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.lesson-panel-heading p{color:#41643f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.78rem;font-weight:800}.lesson-panel-heading h2{margin:0 0 1rem;font-size:clamp(1.15rem,1.2vw,1.45rem);line-height:1.2}.lesson-panel-heading button{flex:none;min-width:46px;min-height:46px;padding:.2rem;font-size:1.6rem;line-height:1}.lesson-controls-card>.wide{justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:52px;display:flex}.lesson-next-category{background:#edf5e9;border:1px solid #cadac5;border-radius:10px;margin:.6rem 0;padding:.7rem}.lesson-next-category p{margin:0 0 .6rem;line-height:1.35}.lesson-next-category>div{gap:.4rem;display:flex}.lesson-next-category button{flex:1;min-width:0;padding-inline:.3rem}.lesson-move-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.9rem;display:grid}.lesson-move-controls button{min-width:0;min-height:48px;padding:.3rem;font-size:1.25rem}.lesson-move-controls button:disabled,.lesson-panel button:disabled{opacity:.45;cursor:default}.lesson-move-status{color:#5a554d;min-height:2.5rem;margin:.55rem 0 0;font-size:.83rem;line-height:1.35}.lesson-description{color:#22251f;overflow-wrap:break-word;font-size:clamp(1.125rem,1.25vw,1.375rem);line-height:1.48}.lesson-description>:first-child{margin-top:0}.lesson-description>:last-child{margin-bottom:0}.lesson-description h3,.lesson-description h4{margin:0 0 .7em;font-size:1.2em;line-height:1.25}.lesson-description p{margin:0 0 .9em}.lesson-description ul,.lesson-description ol{margin:0 0 .9em;padding-left:1.35em}.lesson-description li{margin-bottom:.3em;padding-left:.1em}.lesson-description strong{font-weight:800}.lesson-notes-overlay{z-index:50;background:#121911a8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lesson-notes-dialog{color:#22251f;background:#fffdf9;border:1px solid #c5beaf;border-radius:20px;width:min(86vw,950px);max-width:100%;max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,2.5vw,2.5rem);overflow-y:auto;box-shadow:0 24px 80px #0000004d}.lesson-notes-dialog-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.4rem;display:flex}.lesson-notes-dialog-heading p{color:#41643f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:clamp(.9rem,1.1vw,1.2rem);font-weight:800}.lesson-notes-dialog-heading h2{margin:0;font-size:clamp(1.5rem,2.4vw,2.5rem);line-height:1.2}.lesson-notes-dialog-heading button{flex:none;min-width:52px;min-height:52px;padding:.3rem;font-size:1.4rem}.lesson-notes-dialog .lesson-description{max-width:26em;font-size:clamp(1.5rem,2.3vw,2.5rem);line-height:1.42}.annotation-panel h2{margin:0;font-size:1.15rem}.annotation-panel button{border-radius:8px;min-width:0;min-height:46px;padding:.3rem .2rem;font-size:.9rem;font-weight:600}.annotation-heading{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.annotation-panel .annotation-close{color:#4c4942;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.annotation-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:19px;height:19px}.annotation-panel .annotation-close:hover{background:#f2efe8}.annotation-panel button.selected:not(.swatch),.annotation-panel button[aria-pressed=true]:not(.swatch){background:#e4f0e2;border:2px solid #41643f}.annotation-panel button:disabled{opacity:.5;cursor:default}.annotation-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.annotation-tool-grid button{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;min-height:clamp(62px,6vh,82px);display:flex}.annotation-tool-grid button span{font-size:clamp(1.55rem,2vw,2.2rem);line-height:1}.annotation-tool-grid button small{font-size:.72rem}.annotation-colours{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;display:grid}.annotation-panel .swatch{border:2px solid #fff;min-height:clamp(44px,4vh,58px);box-shadow:inset 0 0 0 1px #777}.annotation-panel .swatch.selected{outline-offset:1px;outline:3px solid #41643f}.swatch.green{background:#3caa5d}.swatch.red{background:#dc5550}.swatch.grey{background:#7f8da8}.swatch.yellow{background:#e9be4d}.annotation-tool-grid [data-annotation-sticker=check] span,.annotation-tool-grid [data-annotation-sticker=flag] span{color:#278344}.annotation-tool-grid [data-annotation-sticker=cross] span,.annotation-tool-grid [data-annotation-sticker=target] span{color:#c53c36}.annotation-tool-grid [data-annotation-sticker=question] span{color:#3188c7}.annotation-tool-grid [data-annotation-sticker=barrier] span{color:#bd8a18}.annotation-label{margin:.5rem 0 .3rem;font-size:.84rem;font-weight:700}.annotation-pin{align-items:center;gap:.5rem;min-height:44px;font-weight:600;display:flex}.annotation-pin input{accent-color:#41643f;width:22px;height:22px}.annotation-actions{border-top:1px solid #ded8cd;gap:.35rem;padding-top:.45rem;display:grid}.annotation-panel .annotation-visibility{text-align:left;justify-content:space-between;align-items:center;gap:.35rem;padding:.3rem .55rem;display:flex}.annotation-switch{background:#777;border-radius:999px;flex:none;width:40px;height:24px;transition:background .15s;position:relative}.annotation-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.annotation-visibility[aria-pressed=true] .annotation-switch{background:#41643f}.annotation-visibility[aria-pressed=true] .annotation-switch:after{transform:translate(16px)}#annotation-visibility-state{text-align:right;min-width:2em}.annotation-hint{color:#555;margin:.5rem 0 0;font-size:.78rem;line-height:1.25}.cm-chessboard .arrows{pointer-events:none}.cm-chessboard .annotation-arrow-G .arrow-line{stroke:#238441;opacity:.78;stroke-linecap:round}.cm-chessboard .annotation-arrow-R .arrow-line{stroke:#cf423c;opacity:.78;stroke-linecap:round}.cm-chessboard .annotation-arrow-B .arrow-line{stroke:#7f8da8;opacity:.78;stroke-linecap:round}.cm-chessboard .annotation-arrow-Y .arrow-line{stroke:#d49b16;opacity:.82;stroke-linecap:round}.cm-chessboard .annotation-arrow-G .arrow-head{fill:#238441}.cm-chessboard .annotation-arrow-R .arrow-head{fill:#cf423c}.cm-chessboard .annotation-arrow-B .arrow-head{fill:#7f8da8}.cm-chessboard .annotation-arrow-Y .arrow-head{fill:#d49b16}.cm-chessboard .marker.annotation-circle-G{stroke:#238441;stroke-width:3.5px;opacity:.9}.cm-chessboard .marker.annotation-circle-R{stroke:#cf423c;stroke-width:3.5px;opacity:.9}.cm-chessboard .marker.annotation-circle-B{stroke:#7f8da8;stroke-width:3.5px;opacity:.9}.cm-chessboard .marker.annotation-circle-Y{stroke:#d49b16;stroke-width:3.5px;opacity:.9}.cm-chessboard .marker.annotation-square-G{fill:#238441;opacity:.38}.cm-chessboard .marker.annotation-square-R{fill:#cf423c;opacity:.38}.cm-chessboard .marker.annotation-square-B{fill:#7f8da8;opacity:.38}.cm-chessboard .marker.annotation-square-Y{fill:#d49b16;opacity:.43}html:fullscreen{background:#f6f3eb}html:fullscreen .app-header{display:none}html:fullscreen .workspace.teach-layout{--board-max-size:max(320px, calc(100dvh - 115px));padding:.75rem}html:fullscreen .workspace.teach-layout.lower-board{--board-layout-size:max(320px, calc(100dvh - 115px));--board-max-size:max(320px, calc((100dvh - 115px) * .7))}html:fullscreen .workspace:not(.teach-layout){--board-max-size:max(320px, calc(100dvh - 195px));flex:1;width:100%}html:fullscreen .workspace:not(.teach-layout).lower-board{--board-max-size:max(320px, calc((100dvh - 195px) * .7))}html:fullscreen .workspace:not(.teach-layout).lower-board .board-column{align-self:end}:is(html:fullscreen .workspace:not(.teach-layout).lower-board .panel,html:fullscreen .workspace:not(.teach-layout).lower-board .palette-panel){align-self:end;position:static}html:fullscreen .workspace:not(.teach-layout) .board-footer{flex-wrap:nowrap;align-items:center}html:fullscreen .workspace:not(.teach-layout) .flip-button{margin-left:auto}@media (width<=1700px){:is(html:fullscreen .workspace:not(.teach-layout) .flip-button,html:fullscreen .workspace:not(.teach-layout) .lower-board-button,html:fullscreen .workspace:not(.teach-layout) .fullscreen-button){width:52px;min-width:52px;padding:.5rem}:is(html:fullscreen .workspace:not(.teach-layout) .flip-button span,html:fullscreen .workspace:not(.teach-layout) .lower-board-button span,html:fullscreen .workspace:not(.teach-layout) .fullscreen-button span){display:none}}@media (width>=1101px){html:fullscreen .workspace.teach-layout{--teach-nav-width:clamp(110px, min(15dvh, 8vw), 300px);--annotation-width:clamp(245px, min(31dvh, 17vw), 650px)}html:fullscreen .workspace.teach-layout.details-open{--annotation-width:clamp(330px, min(38dvh, 20vw), 600px)}html:fullscreen .teaching-toolbar{gap:clamp(.4rem,.55vw,1rem);padding:clamp(.5rem,.7vw,1.25rem)}html:fullscreen .teaching-toolbar button{min-height:clamp(64px,7.5dvh,160px);font-size:clamp(.9rem,.9vw,1.6rem)}html:fullscreen .teaching-toolbar button span{font-size:clamp(1.7rem,2vw,3.5rem)}html:fullscreen .teaching-toolbar button small{font-size:clamp(.75rem,.7vw,1.1rem)}html:fullscreen .annotation-panel{padding:clamp(.8rem,1vw,1.7rem)}html:fullscreen .lesson-panel{max-height:calc(100dvh - 1.5rem);font-size:clamp(1rem,.85vw,1.5rem)}:is(html:fullscreen .lesson-controls-card,html:fullscreen .lesson-description-card){padding:clamp(1rem,1.1vw,2rem)}html:fullscreen .lesson-description{font-size:clamp(1.25rem,1.25vw,2rem)}html:fullscreen .lesson-panel button{min-height:clamp(52px,5dvh,90px)}html:fullscreen .annotation-panel h2{font-size:clamp(1.2rem,1.2vw,2rem)}html:fullscreen .annotation-panel button{min-height:clamp(50px,5dvh,90px);font-size:clamp(.95rem,.8vw,1.5rem)}html:fullscreen .annotation-panel .annotation-close{width:clamp(44px,4dvh,70px);min-height:clamp(44px,4dvh,70px)}html:fullscreen .annotation-close svg{width:clamp(19px,1.2vw,30px);height:clamp(19px,1.2vw,30px)}html:fullscreen .annotation-label{margin:clamp(.55rem,.8dvh,1rem) 0 .35rem;font-size:clamp(.9rem,.82vw,1.35rem)}:is(html:fullscreen .annotation-colours,html:fullscreen .annotation-tool-grid){gap:clamp(.35rem,.45vw,.55rem)}html:fullscreen .annotation-panel .swatch{min-height:clamp(50px,5dvh,110px)}html:fullscreen .annotation-tool-grid button{min-height:clamp(72px,8dvh,160px)}html:fullscreen .annotation-tool-grid button span{font-size:clamp(1.9rem,2.1vw,4rem)}html:fullscreen .annotation-tool-grid button small{font-size:clamp(.78rem,.7vw,1.3rem)}html:fullscreen .annotation-pin{min-height:clamp(48px,5dvh,90px);font-size:clamp(.95rem,.8vw,1.4rem)}html:fullscreen .annotation-pin input{width:clamp(22px,2vw,34px);height:clamp(22px,2vw,34px)}html:fullscreen .annotation-hint{font-size:clamp(.8rem,.65vw,1.1rem)}}.panel,.palette-panel{background:#fff;border:1px solid #ded8cd;border-radius:16px;padding:clamp(1rem,1vw,1.35rem);font-size:clamp(1rem,1vw,1.125rem);position:sticky;top:.75rem}.panel{grid-area:settings}.palette-panel{grid-area:palette;container-type:inline-size}.panel h2,.palette-panel h2{margin:0 0 .4rem}.hint{color:#656565;margin-top:.2rem;line-height:1.4}.primary{color:#fff;background:#41643f;border-color:#41643f;font-weight:700}.secondary{background:#fff}.wide{width:100%;margin-top:.7rem}.field-label{margin-top:.7rem;margin-bottom:.3rem;font-weight:700;display:block}select{background:#fff;border:1px solid #cfc9bc;border-radius:10px;width:100%;min-height:46px;padding:0 .7rem}.panel select,.panel .secondary{min-height:clamp(46px,3vw,60px)}.position-actions #clear-board{width:100%;margin-top:.7rem}.palette-group{border:1px solid #ded8cd;border-radius:12px;min-width:0;margin:0 0 .55rem;padding:.45rem}.palette-group legend{padding:0 .35rem;font-size:.95em;font-weight:700}.tool-row,.history-row,.piece-row{gap:.4rem;display:grid}.tool-row,.history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row{margin-top:.4rem}.history-button{min-width:0;min-height:clamp(50px,3vw,64px);padding-inline:.3rem;font-weight:700}.history-button:disabled{opacity:.65;cursor:default}.piece-row{grid-template-columns:repeat(3,minmax(0,1fr))}.palette-button{min-width:0;min-height:50px;padding:.3rem}.tool-button{justify-content:center;align-items:center;gap:.45rem;min-height:clamp(50px,3vw,64px);font-weight:700;display:flex}.tool-icon{font-size:1.35rem;line-height:1}.piece-button{touch-action:none;min-height:clamp(80px,30cqw,116px);padding:.15rem}.palette-piece{aspect-ratio:1;pointer-events:none;width:min(100%,104px);height:auto;margin:auto;display:block}.palette-drag-preview{z-index:20;pointer-events:none;filter:drop-shadow(0 4px 5px #00000059);width:74px;height:74px;position:fixed;transform:translate(-50%,-50%)}.palette-drop-highlight{z-index:19;pointer-events:none;background:#41643f38;border:3px solid #41643f;position:fixed}.palette-button.selected{background:#e4f0e2;border:2px solid #41643f;box-shadow:inset 0 0 0 1px #41643f}#set-teaching-position{min-height:clamp(52px,3vw,64px);margin-top:.35rem}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (height<=800px) and (width>=1101px){.workspace{padding-top:1rem;padding-bottom:1rem}.panel,.palette-panel{padding-top:.85rem;padding-bottom:.85rem}}@media (width<=1100px){.workspace{grid-template-columns:1fr;grid-template-areas:"board""palette""settings";padding:.75rem}.panel,.palette-panel{justify-self:center;width:min(100%,600px);position:static}.palette-panel .piece-row{grid-template-columns:repeat(6,minmax(0,1fr))}.palette-panel .piece-button{min-height:80px}.board-shell{padding:6px}.app-header{padding:.7rem .8rem}.brand p{display:none}}@media (width<=780px){.workspace.teach-layout.lower-board{flex:none}.workspace.teach-layout,.workspace.teach-layout.annotations-open,.workspace.teach-layout.details-open{grid-template-columns:minmax(0,1fr);grid-template-areas:"teach-nav""annotations""board"}.workspace.teach-layout:after{display:none}.teaching-toolbar{flex-wrap:wrap;display:flex}.workspace.teach-layout.annotations-open .teaching-toolbar,.workspace.teach-layout.details-open .teaching-toolbar{justify-self:stretch;width:100%}.workspace.teach-layout.details-open{grid-template-areas:"teach-nav""board""annotations"}.teaching-toolbar button{flex:1;min-width:96px;min-height:56px}.annotation-panel,.lesson-panel{justify-self:center;width:min(100%,420px);max-height:none}.lesson-description-card{overflow-y:visible}}@media (width<=520px){.lesson-notes-dialog{width:calc(100vw - 1rem);padding:1rem}.lesson-notes-dialog .lesson-description{font-size:1.35rem}.palette-panel .piece-row{grid-template-columns:repeat(3,minmax(0,1fr))}.palette-panel .piece-button{min-height:clamp(80px,30cqw,110px)}.flip-button{min-width:96px}}.library-dialog{color:#252525;background:#f6f3eb;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0}.library-dialog::backdrop{background:#1a221a7a}.library-app{flex-direction:column;height:100%;min-height:0;display:flex}.library-eyebrow{color:#41643f;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-size:.75rem;font-weight:800}.library-close{min-height:48px;font-weight:700}.library-tabs{background:#fff;border-bottom:1px solid #ded8cd;gap:.35rem;padding:.55rem clamp(1rem,4vw,4rem) 0;display:flex}.library-tabs[hidden],.library-type-tabs[hidden]{display:none}.library-tab{background:0 0;border:0;border-radius:10px 10px 0 0;min-height:48px;font-weight:700}.library-tab[aria-pressed=true]{color:#264b26;background:#e4f0e2;box-shadow:inset 0 -3px #41643f}.library-type-tabs{background:#fff;border-bottom:1px solid #ded8cd;gap:.5rem;padding:.55rem clamp(1rem,4vw,4rem);display:flex;overflow-x:auto}.library-type-tab{background:#fff;border:1px solid #d9d3c7;border-radius:999px;flex:none;min-height:44px;padding:.45rem 1rem;font-weight:700}.library-type-tab[aria-pressed=true]{color:#264b26;background:#e4f0e2;border-color:#41643f}.library-content{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.library-page{width:min(100%,1500px);margin:0 auto;padding:clamp(1rem,2vw,2rem) clamp(1rem,3vw,3rem) 3rem}.library-hero{background:linear-gradient(120deg,#e1efdc,#f2f5e7 70%,#e7dfca);border:1px solid #cadac5;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.7rem,1.5vw,1.4rem);margin-bottom:1.25rem;padding:clamp(1rem,1.4vw,1.35rem);display:grid}.library-lesson-select{min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:clamp(.7rem,1.5vw,1.4rem);padding:0;display:grid}.library-lesson-indicator{color:#41643f;padding:0 .2rem;font-size:1.5rem}.library-hero-art{color:#2d522d;background:#c9dfc1;border-radius:16px;place-items:center;width:72px;height:72px;font-size:4rem;line-height:1;display:grid}.library-lesson-title{margin:.1rem 0 .35rem;font-size:clamp(1.5rem,2vw,2.1rem);font-weight:700;display:block}.library-hero-copy>p:last-child{margin:0;line-height:1.4}.library-hero>button:not(.library-lesson-select){white-space:nowrap;min-height:52px}.library-page>.library-hero{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem}.library-page>.library-hero .library-lesson-select{grid-template-columns:56px minmax(0,1fr) auto;gap:.75rem}.library-page>.library-hero .library-hero-art{width:56px;height:56px;font-size:3.1rem}.library-page>.library-hero .library-lesson-title{margin:0 0 .15rem;font-size:clamp(1.25rem,1.5vw,1.6rem)}.library-page>.library-hero .library-hero-copy>p:last-child{font-size:.9rem}.library-page>.library-hero>button:not(.library-lesson-select){min-height:46px}.library-focused-page{padding-top:1rem}.library-gallery-page{padding-bottom:.75rem}.library-focus-header{align-items:center;gap:1rem;min-height:64px;margin-bottom:.75rem;display:flex}.library-focus-header>.primary,.library-focus-header>.library-edit-toggle,.library-focus-header>.library-remove-lesson{white-space:nowrap;min-height:48px;margin-left:auto}.library-focus-header>.library-remove-lesson{margin-left:0}.library-back-lessons{white-space:nowrap;min-height:48px}.library-focus-title{min-width:0}.library-focus-title h3{margin:0;font-size:clamp(1.25rem,2vw,1.7rem)}.library-category-step{min-width:0;min-height:48px;padding:0;font-size:2rem;line-height:1}.library-category-step:disabled{opacity:.45;cursor:default}.library-category-progress{color:#5c584f;margin:0;font-size:.85rem}.library-preview{background:#fff;border:1px solid #ded8cd;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:clamp(1rem,2vw,2rem);min-width:0;padding:clamp(.8rem,1.5vw,1.25rem);display:grid;box-shadow:0 6px 24px #0000000d}.library-preview-visual{flex-direction:column;align-items:center;min-width:0;display:flex}.library-preview-board-caption{color:#5c584f;margin:.5rem 0 0;font-weight:700}.library-preview-details{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.library-preview-kind{color:#5c5347;background:#f0ebe1;border-radius:999px;margin-bottom:.85rem;padding:.25rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.library-preview-board{aspect-ratio:1;pointer-events:none;border:5px solid #eee6d6;border-radius:7px;width:min(100%,42dvh,430px);overflow:hidden}.library-description{flex:1;width:100%;max-height:min(40dvh,24rem);margin:.4rem 0 1rem;line-height:1.45;overflow:auto}.library-description>:first-child{margin-top:0}.library-description>:last-child{margin-bottom:0}.library-description h3,.library-description h4{margin:0 0 .55em;font-size:1.15rem;line-height:1.25}.library-description p{margin:0 0 .7em}.library-description ul,.library-description ol{margin:0 0 .7em;padding-left:1.35em}.library-description li{margin-bottom:.25em}.library-demo-note{color:#6b551b;background:#f6f0dc;border-radius:8px;margin:.3rem 0;padding:.55rem .7rem;font-size:.86rem}.library-preview-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;margin-top:auto;display:flex}.library-preview-add{min-height:52px}.library-position-select-label{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.library-position-select-label input{accent-color:#41643f;width:22px;height:22px}.library-remove-position{color:#813b32;min-height:44px}.library-mine-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.library-mine-heading h3{margin:0 0 .2rem;font-size:1.7rem}.library-mine-heading p{color:#656565;margin:0}.library-edit-toggle{min-height:48px;font-weight:700}.library-empty{background:#fff;border:1px solid #ded8cd;border-radius:16px;justify-items:start;gap:1rem;padding:2rem;display:grid}.library-empty p{margin:0}.library-footer{background:#fff;border-top:1px solid #ded8cd;align-items:center;gap:1rem;min-height:76px;padding:.6rem clamp(1rem,4vw,4rem);display:flex}.library-feedback{color:#315b31;flex:1;font-weight:700}.library-storage-note{color:#666;font-size:.8rem}.library-add-selected{white-space:nowrap;min-height:52px}.library-dialog button:disabled{opacity:.55;cursor:default}.library-focused-layout{grid-template-columns:minmax(380px,40%) minmax(0,1fr);align-items:start;gap:clamp(.75rem,1.5vw,1.25rem);display:grid}.library-focused-layout.library-gallery-layout{grid-template-columns:minmax(0,1fr)}.library-navigation{background:#fff;border:1px solid #ded8cd;border-radius:16px;gap:1rem;min-width:0;padding:1rem;display:grid}.library-picker-host,.library-picker-stack{min-width:0}.library-picker-stack{gap:1rem;display:grid}.library-picker-label{font-weight:800;display:block}.library-game-search{border:0;grid-template-columns:minmax(0,1fr);gap:.45rem;margin:0;padding:0;display:grid}.library-game-search-input{color:#252525;width:100%;min-width:0;min-height:52px;font:inherit;background:#fff;border:1px solid #cfc9bc;border-radius:10px;padding:.55rem .7rem}.library-game-search-count{color:#5c584f;margin:0}.library-game-empty{background:#f6f3ec;border:0;border-radius:10px;margin:0;padding:.8rem}.library-touch-picker{gap:.4rem;min-width:0;display:grid}.library-picker-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-picker-heading .library-category-action{min-height:42px}.library-picker-row{grid-template-columns:minmax(0,1fr) 52px 52px;align-items:start;gap:.4rem;display:grid}.library-choice{min-width:0;position:relative}.library-choice[open]{z-index:3}.library-choice-summary{cursor:pointer;background:#fff;border:1px solid #cfc9bc;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;min-height:52px;padding:.5rem .7rem;font-weight:700;list-style:none;display:flex}.library-choice-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.library-choice-summary::-webkit-details-marker{display:none}.library-choice-summary:after{content:"⌄";flex:none;font-size:1.25rem}.library-choice-list{z-index:4;background:#fff;border:1px solid #cfc9bc;border-radius:10px;width:min(440px,100vw - 3rem);max-height:min(44dvh,400px);padding:.35rem;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 12px 28px #0000002b}.library-choice-option{text-align:left;background:0 0;border:0;border-radius:7px;width:100%;min-height:52px;padding:.6rem .75rem;display:block}.library-choice-option+.library-choice-option{margin-top:.15rem}.library-choice-option:hover,.library-choice-option:focus-visible{background:#f4f1e9}.library-choice-option.is-current{color:#244724;background:#e7f1e3;font-weight:700}.library-category-action{justify-self:start;min-height:48px}.library-touch-picker .library-category-progress{margin:0;font-size:.85rem}.library-position-gallery{gap:.75rem;min-width:0;display:grid}.library-gallery-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-gallery-controls{align-items:center;gap:.4rem;display:flex}.library-gallery-step{min-width:52px;min-height:52px;padding:0;font-size:2rem;line-height:1}.library-gallery-count{text-align:center;color:#5c584f;min-width:3.5rem;font-weight:700}.library-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.library-gallery-tile{min-width:0;color:inherit;background:#fff;border:2px solid #d9d3c7;border-radius:12px;flex-direction:column;align-items:stretch;gap:.4rem;padding:.5rem;display:flex}.library-gallery-tile:hover,.library-gallery-tile:focus-within{background:#f6f9f4;border-color:#41643f}.library-gallery-visual{grid-template-columns:minmax(0,1fr) 48px;align-items:start;gap:.4rem;min-width:0;display:grid}.library-gallery-visual-full{grid-template-columns:minmax(0,1fr)}.library-gallery-open{width:100%;min-width:0;color:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.4rem;padding:0;display:grid}.library-gallery-open:focus-visible{outline-offset:2px;outline:3px solid #41643f}.library-thumbnail-board{aspect-ratio:1;pointer-events:none;background:#ead7b6;border-radius:4px;width:min(100%,300px,max(150px,50dvh - 270px));overflow:hidden}.library-gallery-mine .library-thumbnail-board{width:min(100%,320px,max(150px,50dvh - 260px))}.library-gallery-page .library-gallery-single-row .library-thumbnail-board{width:min(100%,34dvh,400px)}.library-gallery-title{overflow-wrap:anywhere;text-align:center;font-weight:700;line-height:1.25}.library-gallery-action{border-radius:10px;place-items:center;min-width:48px;min-height:48px;padding:0;font-size:1.6rem;line-height:1;display:grid}.library-gallery-add{color:#315b31}.library-gallery-saved{color:#28572a;background:#e4f0e2;border:1px solid #9dbea0}.library-gallery-remove{color:#813b32}.library-preview{grid-template-columns:minmax(0,1fr) minmax(220px,1fr)}.library-preview-header{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.library-preview-title{min-width:0}.library-preview-title h3{overflow-wrap:anywhere;margin:.2rem 0 .45rem;font-size:clamp(1.3rem,1.8vw,1.8rem)}.library-preview-header .library-preview-add{white-space:nowrap;align-self:start}.library-preview-board-only .library-preview-visual{grid-column:1/-1}.library-preview-empty{grid-column:1/-1;margin:0}@media (width<=980px){.library-focused-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=540px){.library-preview-header{grid-template-columns:minmax(0,1fr)}}@media (height<=800px){.library-position-choice .library-choice-list{max-height:min(32dvh,260px);top:auto;bottom:calc(100% + 5px)}.library-preview-board{width:min(100%,42dvh,430px,max(190px,100dvh - 500px))}}@media (width>=1700px) and (height>=1000px){.library-focused-page{width:min(100%,2200px);padding-inline:clamp(2rem,2vw,3rem)}.library-focus-header{min-height:80px;margin-bottom:1rem}.library-gallery-focused .library-focus-header{min-height:64px;margin-bottom:.75rem}.library-focus-title h3{font-size:clamp(1.7rem,1.9vw,2.3rem)}.library-back-lessons,.library-focus-header>.primary,.library-focus-header>.library-edit-toggle{min-height:60px;font-size:1.1rem}.library-focused-layout{grid-template-columns:minmax(540px,35%) minmax(0,1fr);gap:clamp(1.5rem,2vw,2.25rem)}.library-navigation{gap:1.5rem;padding:clamp(1.25rem,1.7vw,2rem)}.library-picker-stack{gap:1.5rem}.library-picker-label{font-size:1.2rem}.library-picker-row{grid-template-columns:minmax(0,1fr) 68px 68px;gap:.65rem}.library-choice-summary,.library-picker-row .library-category-step,.library-game-search-input{min-height:68px;font-size:1.2rem}.library-category-progress,.library-game-search-count{font-size:1.05rem}.library-choice-list{width:min(650px,100vw - 4rem);max-height:min(48dvh,550px)}.library-choice-option{min-height:64px;font-size:1.15rem}.library-gallery-layout .library-navigation{gap:1rem;padding:1rem}.library-gallery-layout .library-picker-stack{gap:1rem}.library-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.library-gallery-step{min-width:64px;min-height:64px}.library-gallery-title{font-size:1.1rem}.library-thumbnail-board{width:min(100%,340px,max(170px,50dvh - 270px))}.library-gallery-mine .library-thumbnail-board{width:min(100%,360px,max(170px,50dvh - 260px))}.library-preview{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);padding:clamp(1.5rem,2vw,2.25rem)}.library-preview-board{width:min(100%,60dvh,700px,max(320px,100dvh - 550px))}.library-preview-title h3{font-size:clamp(1.7rem,2vw,2.4rem)}.library-preview-add{min-height:64px;font-size:1.1rem}.library-description{max-height:min(58dvh,40rem);font-size:1.15rem}}@media (width<=1250px){.library-hero{grid-template-columns:minmax(0,1fr)}.library-hero>button:not(.library-lesson-select){justify-self:start}}@media (width<=800px){.library-lesson-select{grid-template-columns:68px minmax(0,1fr) auto}.library-hero-art{width:68px;height:68px;font-size:3.8rem}.library-hero>button:not(.library-lesson-select){width:100%}.library-preview{grid-template-columns:minmax(0,1fr)}.library-preview-board{width:min(100%,42dvh,430px)}}@media (width<=849px){.library-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=499px){.library-gallery-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=540px){.library-page>.library-hero{grid-template-columns:minmax(0,1fr)}.library-page>.library-hero>button:not(.library-lesson-select){width:100%}.library-close{min-width:100px;padding-inline:.45rem}.library-focus-header{flex-wrap:wrap}.library-focus-header>.primary,.library-focus-header>.library-edit-toggle{margin-left:0}.library-footer{flex-wrap:wrap;gap:.35rem}.library-feedback{flex-basis:100%;min-height:1.2rem}.library-storage-note{flex:1}.library-add-selected{min-height:44px}}
