.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-picker-stack{gap:1rem;min-width:0;display:grid}.library-picker-label{font-weight:800;display:block}.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-row{grid-template-columns:minmax(0,1fr) 52px 52px;align-items:start;gap:.4rem;display:grid}.library-category-picker .library-picker-row{min-width:0;display:flex}.library-category-choice{flex:0 22rem}.library-category-picker .library-category-step{flex:0 0 52px}.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;cursor:pointer;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-touch-picker .library-category-progress{margin:0;font-size:.85rem}.library-position-gallery{gap:.75rem;min-width:0;display:grid}.library-gallery-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-gallery-heading-copy{gap:.35rem;display:grid}.library-gallery-heading-copy .library-category-progress{margin:0}.library-gallery-controls{align-items:center;gap:.4rem;margin-left:auto;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-tile.is-selected{background:#edf5e9;border-color:#41643f;box-shadow:inset 0 0 0 2px #41643f}.library-gallery-visual{grid-template-columns:minmax(0,1fr);align-items:start;gap:.4rem;min-width:0;display:grid}.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{width:min(100%, 300px, max(150px, calc((var(--gallery-viewport-height,100dvh) - 540px) / 2)));aspect-ratio:1;pointer-events:none;background:#ead7b6;border-radius:4px;overflow:hidden}.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}@media (width>=1700px) and (height>=1000px){.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-category-picker .library-category-step{flex-basis:68px}.library-choice-summary,.library-picker-row .library-category-step{min-height:68px;font-size:1.2rem}.library-category-progress{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-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, calc((var(--gallery-viewport-height,100dvh) - 540px) / 2)))}}@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)}}.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}:root{color:#233027;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;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7ca9d8}#app{height:100dvh;overflow:hidden}.app-header{background:#fffdf9;border-bottom:1px solid #ded8cd;justify-content:space-between;align-items:center;gap:1rem;min-height:86px;padding:.8rem clamp(1.25rem,3vw,3rem);display:flex}.brand{align-items:center;gap:1.15rem;display:flex}.brand img{width:clamp(116px,12vw,172px);height:auto}.brand-title{border-left:1px solid #d3cfbf;padding-left:1.1rem}.brand-title span,.eyebrow{color:#547954;letter-spacing:.12em;font-size:.72rem;font-weight:800;display:block}.brand-title h1{color:#244529;margin:.12rem 0 0;font-size:clamp(1.45rem,2vw,2rem);line-height:1}.header-note{color:#647165;font-size:.9rem}.header-actions{align-items:center;gap:1rem;display:flex}.area-navigation{background:#f1f6ee;border:1px solid #d7e2d1;border-radius:10px;gap:.25rem;padding:.2rem;display:flex}.area-navigation button{color:#47604a;background:0 0;border:0;border-radius:7px;min-height:34px;padding:.3rem .75rem;font-weight:750}.area-navigation button[aria-current=page]{color:#285a30;background:#fff;box-shadow:0 1px 5px #23302720}.storage-error{z-index:12;color:#81332a;background:#fff4f0;border:1px solid #b66e64;border-radius:10px;width:min(680px,100vw - 2rem);padding:.9rem 1rem;position:fixed;top:5.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0002}.header-actions .secondary{min-height:38px;padding:.45rem .8rem}.app-main{grid-template-columns:minmax(245px,290px) minmax(0,1fr);gap:clamp(.9rem,1.4vw,1.4rem);width:min(100%,1800px);height:calc(100dvh - 86px);min-height:0;margin:auto;padding:clamp(.85rem,1.5vw,1.5rem);display:grid;overflow:hidden}.panel{background:#fffdf9;border:1px solid #dedccf;border-radius:16px;box-shadow:0 6px 24px #2330270b}.collections-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-heading,.items-heading{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.panel-heading{padding:1.4rem 1.15rem .9rem}h2,h3,p{overflow-wrap:anywhere}.panel-heading h2,.items-heading h2{margin:.32rem 0 0;font-size:1.35rem}.icon-button{color:#285733;background:#e7f1e3;border:1px solid #b9d0b5;border-radius:9px;width:40px;height:40px;padding:0;font-size:1.7rem;line-height:1}.collection-list{flex:1;align-content:start;gap:.3rem;min-height:0;padding:.35rem .65rem 1rem;display:grid;overflow-y:auto}.collection-card{width:100%;min-width:0;min-height:66px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.7rem;padding:.5rem .65rem;display:flex}.collection-card:hover,.collection-card.selected{background:#edf5e9;border-color:#bcd0b6}.collection-card.selected{box-shadow:inset 3px 0 #3b7440}.collection-icon{color:#285733;background:#d8e8d2;border-radius:8px;flex:none;place-items:center;width:42px;height:42px;font-size:1.65rem;display:grid}.collection-text{flex:1;gap:.18rem;min-width:0;display:grid}.collection-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.collection-text small{color:#68766b}.collection-card>span:last-child{color:#5c755d;font-size:1.4rem}.sidebar-empty{color:#657066;padding:1.1rem .7rem;font-size:.9rem;line-height:1.4}.sidebar-footer{color:#6c756d;border-top:1px solid #e9e7dd;align-items:center;gap:.5rem;padding:1rem 1.2rem;font-size:.8rem;display:flex}.status-dot{background:#68a66c;border-radius:50%;width:8px;height:8px}.work-area{flex-direction:column;min-width:0;min-height:0;display:flex}.position-work-area{overflow:hidden}.position-editor{min-height:0;padding:clamp(1rem,1.8vw,1.6rem);overflow-y:auto}.position-editor-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.position-title-block{flex:1;min-width:0}.position-title-heading{margin:.35rem 0 0;font-size:clamp(1.5rem,2.2vw,2rem)}.position-title-trigger{color:#233027;max-width:100%;font:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.55rem;padding:0;line-height:1.2;display:inline-flex}.position-title-trigger:hover{color:#315f35}.position-title-trigger.is-placeholder{color:#69776b}.position-title-trigger span{overflow-wrap:anywhere;min-width:0}.position-title-trigger svg{color:#547954;flex:none;width:20px;height:20px}.position-title-heading input{color:#233027;width:min(100%,34rem);min-height:43px;font:inherit;font-weight:inherit;background:#fff;border:1px solid #9cbc9b;border-radius:7px;padding:.15rem .45rem}.position-title-trigger[hidden],.position-title-heading input[hidden]{display:none}.position-move-indicator{color:#315f35;white-space:nowrap;background:#f1f6ee;border:1px solid #cbdcc7;border-radius:999px;align-items:center;gap:.35rem;min-height:28px;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.position-move-indicator .scoresheet-action-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.05em;height:1.05em}.position-move-indicator:hover{background:#e6f1e2;border-color:#9fbe99}.position-move-indicator:focus-visible{outline-offset:2px;outline:3px solid #7ca9d8}.position-title-block .position-field-error{margin-top:.3rem}.position-header-actions{flex:none;gap:.5rem;display:flex}.position-header-actions button{white-space:nowrap;min-height:40px;padding:.45rem .75rem}.position-header-menu{flex:none;position:relative}.position-header-menu summary{color:#315f35;cursor:pointer;background:#f5f9f2;border:1px solid #c7d4c4;border-radius:8px;place-items:center;width:40px;min-height:40px;font-size:1.4rem;font-weight:700;line-height:1;list-style:none;display:grid}.position-header-menu summary::-webkit-details-marker{display:none}.position-header-menu summary:hover,.position-header-menu[open] summary{background:#e7f1e3}.position-header-menu summary:focus-visible{outline-offset:2px;outline:3px solid #7ca9d8}.position-header-menu-content{z-index:10;background:#fff;border:1px solid #dedccf;border-radius:9px;min-width:170px;padding:.3rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 24px #23302724}.position-header-actions .position-header-menu-content button{color:#315f35;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;min-height:36px;padding:.4rem .6rem;font-size:.84rem;font-weight:700}.position-header-menu-content button:hover{background:#f1f6ee}.position-header-actions .position-header-menu-content .position-menu-delete{color:#a13f32}.position-header-menu-content .position-menu-delete:hover{background:#fae9e5}.position-type-context{color:#68766b;flex-wrap:wrap;align-items:center;gap:.2rem .55rem;min-height:30px;margin-bottom:.25rem;font-size:.85rem;display:flex}.position-type-context strong{color:#315f35}.position-type-context button[data-action=change-position-type],.position-change-type{color:#315f35;text-underline-offset:2px;background:0 0;border:0;padding:.1rem 0;font-size:.8rem;font-weight:700;text-decoration:underline}.position-type-context button[data-action=change-position-type]:hover,.position-change-type:hover{color:#244b2b}.position-creation{flex:1;min-height:0;padding:clamp(1.15rem,2.5vw,2.2rem);overflow-y:auto}.position-creation-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.position-creation-heading button{min-height:36px;padding:.35rem .65rem;font-size:.8rem}.position-creation h2{margin:.75rem 0 1.15rem;font-size:clamp(1.5rem,2.2vw,2rem)}.position-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-width:800px;display:grid}.position-kind-card{color:#233027;text-align:left;background:#fbfdf9;border:1px solid #d5dfd0;border-radius:11px;align-content:start;gap:.45rem;min-height:118px;padding:1rem;display:grid}.position-kind-card:hover{background:#f1f7ee;border-color:#81aa7c;box-shadow:inset 3px 0 #3b7440}.position-kind-card strong{color:#244b2b;justify-content:space-between;gap:.6rem;font-size:1.02rem;display:flex}.position-kind-card strong span{color:#477a48;font-size:1.15rem}.position-kind-card>span{color:#617262;font-size:.83rem;line-height:1.4}.position-creation>.position-mini-entry{max-width:590px}.position-change-type{margin-top:1rem}.position-step{align-items:flex-start;gap:.7rem;margin:0 0 .65rem;display:flex}.position-step>span{color:#285a30;background:#dcebd7;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:.85rem;font-weight:800;display:grid}.position-step h3{margin:.1rem 0 .25rem;font-size:1.1rem}.position-step p{color:#68766b;margin:0;font-size:.85rem;line-height:1.4}.position-board-layout{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:start;gap:clamp(1rem,1.8vw,1.5rem);display:grid}.position-board-column{gap:.35rem;min-width:0;max-width:560px;display:grid}.position-board{aspect-ratio:1;border:5px solid #e8e2d2;border-radius:7px;width:100%;position:relative;overflow:hidden}.position-target-marker{z-index:4;pointer-events:none;background:#6fa65d38;border:3px solid #3b7440;width:12.5%;height:12.5%;position:absolute}.position-winning-square-marker{z-index:4;pointer-events:none;background:#62b77d70;border:3px solid #286c42;border-radius:6px;width:12.5%;height:12.5%;position:absolute;box-shadow:inset 0 0 0 2px #fff9}.position-board-presets{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.position-board-presets button{min-height:36px;padding:.35rem .65rem;font-size:.82rem}.position-editor-side{width:100%;min-width:0;max-width:620px;min-height:var(--position-side-height,0px);flex-direction:column;display:flex}.position-board-tools{align-content:start;gap:.3rem;display:grid}.position-piece-palette{background:#eef3e9;border:1px solid #d5dfd0;border-radius:9px;grid-template-columns:repeat(8,minmax(0,1fr));gap:.2rem;min-width:0;padding:.25rem;display:grid}.position-palette-tool,.setup-piece{aspect-ratio:1;background:#fff;border:1px solid #d7dfd2;border-radius:7px;place-items:center;min-width:0;padding:.1rem;display:grid}.position-palette-tool{color:#315f35;grid-template-rows:minmax(0,1fr) auto;font-weight:750}.position-palette-tool svg{align-self:end;width:clamp(20px,2.1vw,27px);height:clamp(20px,2.1vw,27px)}.position-palette-tool small{align-self:start;font-size:.63rem;line-height:1.1}.position-palette-tool[aria-pressed=true],.setup-piece[aria-pressed=true]{background:#dcebd7;border-color:#477a48;box-shadow:inset 0 0 0 1px #477a48}.setup-piece{touch-action:none}.setup-piece svg{aspect-ratio:1;pointer-events:none;width:min(100%,64px);height:auto;display:block}.setup-piece-fallback{color:#25332a;pointer-events:none;font-size:clamp(2rem,3vw,2.6rem);line-height:1}.position-piece-drag-preview{z-index:30;pointer-events:none;filter:drop-shadow(0 4px 5px #0005);width:56px;height:56px;position:fixed;transform:translate(-50%,-50%)}.position-piece-drop-highlight{z-index:29;pointer-events:none;background:#41643f38;border:3px solid #41643f;position:fixed}.position-piece-drop-highlight[hidden]{display:none}.position-board-tools label,.position-details label{color:#405244;margin-top:.1rem;font-size:.85rem;font-weight:750}.position-board-tools input,.position-board-tools select,.position-details input,.position-details select,.position-details textarea{color:#233027;background:#fff;border:1px solid #cbd5c7;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:.55rem .65rem}.position-board-tools input,.position-board-tools select{min-height:38px;padding-top:.4rem;padding-bottom:.4rem}.position-board-tools input{font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.position-fen-field{min-width:0;position:relative}.position-fen-field input{padding-right:2.9rem}.position-fen-paste{color:#315f35;background:#f1f6ee;border:0;border-left:1px solid #d3dfce;border-radius:0 5px 5px 0;place-items:center;width:34px;padding:0;display:grid;position:absolute;top:4px;bottom:4px;right:4px}.position-fen-paste:hover{background:#dcebd7}.position-fen-paste svg{width:19px;height:19px}.position-field-error{color:#a13f32;margin:.15rem 0;font-size:.85rem;font-weight:650}.position-field-error[hidden]{display:none}.position-details{border-top:1px solid #e4e7dd;flex-direction:column;flex:1;gap:.4rem;min-height:0;margin-top:.65rem;padding-top:.75rem;display:flex}.position-details>h3{margin:.1rem 0;font-size:1rem}.position-description-heading-row{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.position-description-heading-row h3{margin:0;font-size:1rem}.position-description-heading-row h3 span{color:#718074;font-size:.8rem;font-weight:400}.position-description-controls{flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex}.position-description-toggle{background:#f1f6ee;border:1px solid #d7e2d1;border-radius:8px;flex:none;gap:.15rem;padding:.15rem;display:inline-flex}.position-description-toggle button{color:#47604a;background:0 0;border:0;border-radius:6px;min-height:28px;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.position-description-toggle button[aria-pressed=true]{color:#285a30;background:#fff;box-shadow:0 1px 4px #23302720}.position-description-stage{min-width:0;min-height:152px;max-height:var(--position-description-max-height,none);flex-direction:column;flex:1;display:flex}.position-description-stage textarea,.position-description-preview{flex:1;width:100%;min-height:0;display:block}.position-description-stage textarea[hidden],.position-description-preview[hidden]{display:none}.position-description-stage .position-description-preview{color:#233027;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5c7;border-radius:8px;max-height:none;margin:0;padding:.55rem .65rem;font-size:.9rem;line-height:1.45;overflow-y:auto}.position-description-preview>:first-child{margin-top:0}.position-description-preview>:last-child{margin-bottom:0}.position-details label span{color:#718074;font-weight:400}.position-details textarea{resize:none;line-height:1.45}.position-details textarea[readonly]{color:#465c48;cursor:default;background:#f3f7f0}.position-description-override{cursor:pointer;align-items:center;gap:.5rem;display:flex;font-weight:600!important}.position-description-override input{accent-color:#3b7440;flex:none;height:17px;margin:0;padding:0;width:17px!important;min-height:0!important}.position-generated-reset{color:#315f35;text-underline-offset:2px;background:0 0;border:0;justify-self:start;min-height:30px;padding:.1rem 0;font-size:.8rem;font-weight:750;text-decoration:underline}.position-generated-reset[hidden],#position-rule-config:empty{display:none}.position-rule-fields{gap:.4rem;margin:.2rem 0 .3rem;display:grid}.position-rule-hint{color:#68766b;margin:0;font-size:.78rem;line-height:1.35}.position-puzzle-answers{gap:.45rem;margin-top:.15rem;display:grid}.position-puzzle-action{justify-self:start;min-height:36px;padding:.35rem .65rem;font-size:.8rem}.position-puzzle-action[aria-pressed=true]{background:#dcebd7;border-color:#477a48}.position-winning-moves{gap:.25rem;display:grid}.position-winning-move{background:#f5f9f2;border:1px solid #dce6d8;border-radius:7px;align-items:center;gap:.3rem;min-height:34px;padding:.2rem .3rem .2rem .55rem;font-size:.82rem;display:flex}.position-winning-move span{flex:1}.position-winning-move select{width:auto;min-height:28px;padding:.15rem .3rem;font-size:.78rem}.position-winning-move button{color:#9c3d36;background:0 0;border:0;border-radius:5px;width:28px;height:28px;padding:0;font-size:1.2rem}.position-winning-move button:hover{background:#fae9e5}.position-puzzle-piece{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .45rem;display:grid}.position-puzzle-piece label:first-of-type{grid-area:1/1}.position-puzzle-piece select:first-of-type{grid-area:2/1}.position-puzzle-piece label:nth-of-type(2){grid-area:1/2}.position-puzzle-piece select:nth-of-type(2){grid-area:2/2}.position-winning-squares{flex-wrap:wrap;gap:.3rem;display:flex}.position-winning-squares button{color:#285a30;background:#e5f3e2;border:1px solid #8eb794;border-radius:6px;min-height:28px;padding:.15rem .45rem;font-size:.8rem;font-weight:700}.position-place-list{gap:.35rem;display:grid}.position-place-row{grid-template-columns:77px minmax(86px,1fr) auto 28px;align-items:center;gap:.3rem;display:grid}.position-place-row select{min-height:36px;padding:.3rem .35rem;font-size:.8rem}.position-quantity{background:#fff;border:1px solid #cbd5c7;border-radius:7px;align-items:center;display:flex}.position-quantity button{color:#315f35;background:0 0;border:0;width:27px;height:34px;padding:0;font-size:1rem;font-weight:750}.position-quantity span{color:#233027;text-align:center;min-width:20px;font-size:.8rem}.position-remove-row{color:#9c3d36;background:0 0;border:0;border-radius:6px;width:28px;height:34px;padding:0;font-size:1.25rem}.position-remove-row:hover{background:#fae9e5}.position-add-piece{justify-self:start;min-height:36px;padding:.35rem .65rem;font-size:.8rem}.position-detected,.position-inline-guidance{border-radius:7px;margin:.1rem 0;padding:.45rem .55rem;font-size:.8rem;line-height:1.35}.position-detected{color:#315f35;background:#edf5e9}.position-inline-guidance{color:#7e4e25;background:#fff4e8}.position-target-control{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.position-target-control button{min-height:36px;padding:.35rem .6rem;font-size:.8rem}.position-target-control button[aria-pressed=true]{background:#dcebd7;border-color:#477a48}.position-mini-summary{background:#fff;border:1px solid #d5dfd0;border-radius:9px;gap:.55rem;min-width:0;padding:.7rem .8rem;display:grid}.position-mini-summary strong{color:#233027;margin-top:.16rem;font-size:.94rem;display:block}.position-mini-summary p{color:#68766b;margin:.18rem 0 0;font-size:.78rem;line-height:1.35}.position-mini-summary>strong{margin:0}.position-mini-summary .position-mini-library-chips span{color:#315f35;background:#eaf3e6;border-color:#c8dec1}.position-mini-summary button{min-height:34px;padding:.3rem .55rem;font-size:.78rem}.position-mini-summary .secondary{background:#fff}.position-mini-actions{flex-wrap:wrap;gap:.4rem;display:flex}.position-mini-entry{gap:.4rem;display:grid}.position-mini-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.position-mini-path{color:#244b2b;text-align:left;background:#f4f8f1;border:1px solid #a9c8a3;border-radius:9px;align-content:start;gap:.35rem;min-height:92px;padding:.65rem .7rem;display:grid}.position-mini-path:hover{background:#eaf3e6;border-color:#5e945d}.position-mini-path strong{justify-content:space-between;align-items:center;gap:.4rem;font-size:.88rem;display:flex}.position-mini-path strong span{color:#477a48;font-size:1.1rem}.position-mini-path>span,.position-mini-custom span{color:#617262;font-size:.77rem;line-height:1.35}.position-mini-custom{color:#315f35;text-align:left;background:0 0;border:0;justify-self:start;gap:.12rem;padding:.35rem .2rem;display:grid}.position-mini-custom:hover strong{text-underline-offset:2px;text-decoration:underline}.position-mini-custom strong{font-size:.82rem}.position-mini-entry-dialog{width:min(520px,100vw - 2rem)}.position-mini-browser{--gallery-viewport-height:calc(100dvh - 120px);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.position-browser-main{grid-template-columns:minmax(0,1fr)}.position-browser-main>.collections-panel{display:none}.position-mini-browser-heading{align-items:center;gap:1rem;padding:1.2rem 1.3rem .8rem;display:flex}.position-mini-browser-heading h2{margin:.2rem 0 0;font-size:clamp(1.5rem,2vw,2rem)}.position-mini-browser-heading .secondary{white-space:nowrap;min-height:42px}.position-mini-browser-content{flex-direction:column;flex:1;min-height:0;padding:0 1.3rem 1rem;display:flex}.position-mini-browser-filters{background:#fff;border:1px solid #ded8cd;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(210px,1fr);align-items:start;gap:1rem;padding:.9rem;display:grid}.position-mini-browser-search{gap:.4rem;min-width:0;display:grid}.position-mini-browser-search input{color:#233027;background:#fff;border:1px solid #cfc9bc;border-radius:10px;width:100%;min-height:52px;padding:.55rem .7rem}.position-mini-browser-results{flex:1;min-height:0;padding:1rem .1rem;overflow-y:auto}.position-mini-browser-empty{color:#68766b;text-align:center;margin:0;padding:1.5rem}.position-mini-browser-footer{color:#617262;border-top:1px solid #ded8cd;justify-content:space-between;align-items:center;gap:1rem;min-height:66px;padding:.7rem 0 0;display:flex}.position-mini-browser-selection{gap:.35rem;min-width:0;display:grid}.position-mini-browser-selection strong{color:#244b2b}.position-mini-browser-footer .primary{flex:none;min-height:42px}.position-mini-browser .library-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.position-mini-browser .library-gallery-tile{background:#fff}.position-mini-browser .library-gallery-tile.is-selected{background:#edf5e9}.position-mini-library-chips{flex-wrap:wrap;gap:.2rem;display:flex}.position-mini-library-chips span{color:#4c654e;background:#f3f7f0;border:1px solid #dce6d7;border-radius:999px;padding:.16rem .35rem;font-size:.67rem;font-weight:700;line-height:1.2}.position-teaching-main{grid-template-columns:minmax(0,1fr)}.position-teaching-view{flex-direction:column;min-height:0;padding:clamp(1rem,2vw,1.75rem);display:flex;overflow-y:auto}.position-teaching-heading{align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.position-teaching-heading .secondary{flex:none;min-height:40px;padding:.45rem .7rem}.position-teaching-heading h2{margin:.2rem 0 0;font-size:clamp(1.55rem,2.3vw,2.2rem)}.position-teaching-layout{grid-template-columns:minmax(0,660px) minmax(270px,1fr);align-items:start;gap:clamp(1rem,2vw,1.7rem);display:grid}.position-teaching-board-column{min-width:0}.position-teaching-board{aspect-ratio:1;border:5px solid #e8e2d2;border-radius:7px;width:min(100%,660px,100dvh - 245px);position:relative;overflow:hidden}.position-annotation-toolbar{gap:.4rem;margin-top:.35rem;display:grid}.position-annotation-toolbar[hidden]{display:none}.position-annotation-tools{flex-wrap:wrap;gap:.3rem;display:flex}.position-annotation-tools button,.position-annotation-stickers button,.position-annotation-actions button{color:#305636;cursor:pointer;background:#fff;border:1px solid #cbd8c6;border-radius:7px;min-height:30px;padding:.2rem .45rem;font-size:.76rem;font-weight:750}.position-annotation-tools button[aria-pressed=true],.position-annotation-stickers button[aria-pressed=true]{background:#e7f2e3;border-color:#609565;box-shadow:inset 0 0 0 1px #609565}.position-annotation-tool-icon{vertical-align:-.08em;margin-right:.15rem;font-size:1rem;line-height:1;display:inline-block}.position-annotation-hint{color:#637064;margin:0;font-size:.78rem;line-height:1.4}.position-annotation-actions{border-top:1px solid #e4e7dd;justify-content:flex-end;padding-top:.4rem;display:flex}.position-annotation-options{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.position-annotation-colours,.position-annotation-stickers{flex-wrap:wrap;gap:.28rem;display:flex}.position-annotation-stickers[hidden]{display:none}.position-annotation-colours .swatch{cursor:pointer;border:2px solid #fff;border-radius:6px;width:29px;min-height:29px;padding:0;box-shadow:inset 0 0 0 1px #777}.position-annotation-colours .swatch[aria-pressed=true]{outline-offset:1px;outline:2px solid #41643f}.position-annotation-stickers button{min-width:30px;padding:.15rem;font-size:1rem;line-height:1}.position-annotation-stickers [data-teaching-sticker=check],.position-annotation-stickers [data-teaching-sticker=flag]{color:#278344}.position-annotation-stickers [data-teaching-sticker=cross],.position-annotation-stickers [data-teaching-sticker=target]{color:#c53c36}.position-annotation-stickers [data-teaching-sticker=question]{color:#3188c7}.position-annotation-stickers [data-teaching-sticker=barrier]{color:#bd8a18}.position-annotation-colours .swatch.green{background:#3caa5d}.position-annotation-colours .swatch.red{background:#dc5550}.position-annotation-colours .swatch.grey{background:#7f8da8}.position-annotation-colours .swatch.yellow{background:#e9be4d}.position-annotation-preview{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.position-annotation-preview[hidden]{display:none}.position-annotation-preview line{stroke-width:.7px;stroke-linecap:round}.position-teaching-sequence{background:#fff;border:1px solid #dedccf;border-radius:12px;min-height:300px;padding:1.1rem}.position-teaching-sequence h3{margin:0 0 .65rem;font-size:1.12rem}.position-teaching-hint{color:#637064;margin:.55rem 0 0;font-size:.82rem}.position-sequence-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:13.5rem;overflow-y:auto}.position-sequence-start,.position-sequence-move{color:#233027;font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000}.position-sequence-start{border-color:#dfe7da;border-radius:8px;width:100%;padding:.7rem .8rem;font-weight:700;display:block}.position-sequence-line{gap:.18rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.position-sequence-line li{grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.2rem;min-height:2.3rem;display:grid}.position-sequence-notation{color:#667468;font-size:.85rem;font-weight:700}.position-sequence-move{border-radius:7px;min-width:0;padding:.45rem .55rem;font-weight:700}.position-sequence-start:hover,.position-sequence-move:hover{background:#f3f7f0}.position-sequence-start.is-current,.position-sequence-move.is-current{color:#285a30;background:#edf5e9;border-color:#a9c8a3}.position-sequence-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.6rem;display:grid}.position-sequence-navigation button{color:#305636;cursor:pointer;background:#fff;border:1px solid #cfc9bc;border-radius:8px;min-width:0;min-height:40px;padding:.25rem;font-size:1.2rem}.position-sequence-navigation button:hover:not(:disabled){background:#edf5e9;border-color:#8bb687}.position-sequence-navigation button:disabled{opacity:.45;cursor:default}.position-sequence-selected{color:#59715b;justify-content:space-between;align-items:center;gap:.5rem;min-height:1.5rem;margin-top:.35rem;font-size:.78rem;font-weight:700;display:flex}.position-sequence-selected>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.position-sequence-delete{color:#a14336;cursor:pointer;background:0 0;border:0;flex:none;padding:.1rem .2rem;font-size:.75rem;font-weight:700}.position-sequence-delete:hover{text-decoration:underline}.position-teaching-notes,.position-teaching-annotations{border-top:1px solid #e4e7dd;margin-top:.65rem;padding-top:.6rem}.position-teaching-disclosure{color:#305636;width:100%;min-height:34px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .35rem;font-size:.84rem;font-weight:800;display:flex}.position-teaching-disclosure:hover,.position-teaching-disclosure[aria-expanded=true]{background:#f1f7ee}.position-teaching-disclosure small{color:#59715b;font-size:.75rem;font-weight:700}.position-teaching-note-editor{gap:.4rem;margin-top:.4rem;display:grid}.position-teaching-note-editor[hidden]{display:none}.position-teaching-notes label{color:#233027;font-size:.9rem;font-weight:800}.position-teaching-note-state{color:#59715b;font-size:.79rem;font-weight:700}.position-teaching-notes textarea{resize:vertical;color:#233027;width:100%;min-height:145px;font:inherit;background:#fff;border:1px solid #c9d4c4;border-radius:9px;padding:.7rem .8rem;line-height:1.45}.position-teaching-notes textarea:focus{outline-offset:2px;outline:2px solid #83b67e}@media (width>=1700px) and (height>=1000px){.position-mini-browser-search input{min-height:68px}}.welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:min(72dvh,620px);padding:2rem;display:flex}.welcome-icon{color:#47744a;background:#e0ecd9;border-radius:24px;place-items:center;width:88px;height:88px;margin-bottom:1.4rem;font-size:3.6rem;display:grid}.welcome h2{margin:.7rem 0 .2rem;font-size:clamp(2rem,3vw,3rem)}.welcome p{color:#626d64;max-width:35rem;margin:.7rem 0 1.8rem;line-height:1.55}.position-landing .position-kind-grid{text-align:left;width:min(100%,800px)}.primary,.secondary,.quiet{border-radius:9px;min-height:45px;padding:.65rem .95rem;font-weight:700}.primary{color:#fff;background:#315f35;border:1px solid #285a30}.primary:hover{background:#254f2b}.primary span{margin-left:.7rem}.secondary{color:#28552f;background:#e9f2e6;border:1px solid #9cbc9b}.quiet{color:#4b554c;background:#fff;border:1px solid #dedbcf}.danger{color:#9c3d36}.collection-header{flex:none;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.85rem 1.2rem;display:flex}.collection-title-group{flex:1;gap:.45rem;min-width:0;display:grid}.collection-fields{grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr);gap:.8rem;display:grid}.collection-field{min-width:0}.collection-title-group label{color:#647066;margin-bottom:.15rem;font-size:.77rem;font-weight:700;display:block}.collection-title-group input{color:#233027;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;min-height:39px;padding:.1rem .35rem;font-size:clamp(1.3rem,1.8vw,1.65rem);font-weight:750}.collection-title-group input:hover,.collection-title-group input:focus{background:#fff;border-color:#b8c8b5}.collection-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.publish-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.7rem 1rem;display:flex}.publish-status{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.publish-bar small{color:#647165}.publish-code{color:#244529;letter-spacing:.1em;white-space:nowrap;font-size:1.05rem;font-weight:800}.publish-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;margin-left:auto;display:flex}.publish-access{align-items:center;gap:.4rem;margin-right:.25rem;display:flex}.publish-access-label{color:#647165;white-space:nowrap;font-size:.78rem;font-weight:700}.publish-icon-button{color:#28552f;background:#e9f2e6;border:1px solid #9cbc9b;border-radius:8px;flex:none;place-items:center;width:39px;height:39px;padding:0;display:grid}.publish-icon-button:hover{background:#dcebd7}.publish-icon-button svg{width:19px;height:19px}#collection-publisher{font-size:.9rem;font-weight:500}.content-layout{flex:1;grid-template-columns:minmax(260px,365px) minmax(0,1fr);gap:1rem;min-height:0;display:grid;overflow:hidden}.items-panel,.preview-panel{min-width:0;min-height:0}.items-panel{flex-direction:column;display:flex;overflow:hidden}.items-heading{border-bottom:1px solid #e7e6dc;padding:1.3rem 1.2rem 1rem}.items-hint{color:#899087;text-align:right;font-size:.72rem}.items-list,.groups-list{flex:1;min-height:0;padding:.45rem;overflow-y:auto}.group-row{background:#f7faf5;border:1px solid #d5e0d0;border-radius:12px;margin:.35rem .2rem .7rem}.group-row:hover{background:#eef6eb;border-color:#8eae87}.group-select{width:100%;min-height:92px;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;padding:.75rem;display:flex}.import-card{margin-bottom:.45rem;position:relative}.import-card .group-select{min-height:88px;padding:.55rem 3.25rem .55rem .7rem}.import-card .group-icon{width:46px;height:46px}.import-card .group-copy{gap:.12rem}.import-card .group-chevron{position:absolute;bottom:.2rem;right:.85rem}.group-icon{color:#315f35;background:#dcead6;border-radius:10px;flex:none;place-items:center;width:52px;height:52px;font-size:2rem;display:grid}.group-icon svg{fill:currentColor;width:30px;height:30px}.group-copy{flex:1;gap:.22rem;min-width:0;display:grid}.group-kind{color:#527b52;letter-spacing:.1em;font-size:.65rem;font-weight:800}.group-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.group-copy small{color:#637365;font-size:.78rem}.group-chevron{color:#6d896b;font-size:1.45rem}.category-icon{font-size:1.45rem}.category-heading{justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1.15rem .45rem;display:flex}.category-heading strong{color:#566c57;font-size:.8rem}.category-drill-heading{border-bottom:1px solid #e7e6dc;gap:.3rem;padding:.75rem 1.15rem;display:grid}.category-drill-heading h3{margin:0;font-size:1rem}.category-drill-heading small{color:#6b776b;font-size:.78rem}.category-back-button{color:#315f35;background:#f1f6ef;border:0;border-radius:6px;justify-self:start;min-height:36px;margin-bottom:.35rem;padding:.3rem .5rem;font-size:.82rem;font-weight:800}.category-back-button:hover,.category-back-button:focus-visible{background:#e1efdc}.group-actions{padding:0;display:flex;position:absolute;top:.15rem;right:.15rem}.group-actions button{color:#5c7c60;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;font-size:1.1rem;display:grid}.group-actions button:hover{background:#fae9e5}.group-actions [data-action=delete-group]{color:#a45a4d}.group-actions [data-action=delete-group] svg{width:20px;height:20px}.app-confirm-dialog{color:#233027;background:#fffdf9;border:1px solid #d9d2c6;border-radius:14px;width:min(440px,100vw - 2rem);max-width:none;padding:1.5rem;box-shadow:0 24px 70px #141e1440}.app-confirm-dialog::backdrop{background:#141e148c}.app-confirm-dialog h2{margin:0 0 .6rem}.app-confirm-dialog p{line-height:1.5}.app-confirm-actions{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.position-preset-dialog{width:min(610px,100vw - 2rem);max-height:min(88dvh,780px);overflow-y:auto}.position-preset-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.position-preset-heading h2{margin:.15rem 0 0}.position-preset-heading button{width:34px;height:34px;min-height:0;padding:0;font-size:1.35rem;line-height:1}.position-preset-cards{gap:.45rem;display:grid}.position-preset-card{color:#233027;text-align:left;background:#fff;border:1px solid #d7dfd2;border-radius:9px;gap:.3rem;width:100%;padding:.62rem .75rem;display:grid}.position-preset-card:hover,.position-preset-card:focus-visible{background:#f3f8f0;border-color:#81aa7c}.position-preset-card[aria-pressed=true]{background:#edf5e9;border-color:#4f8851;box-shadow:inset 3px 0 #3b7440}.position-preset-card-heading{align-items:center;gap:.55rem;min-width:0;display:flex}.position-preset-icon{color:#315f35;background:#eaf3e6;border:1px solid #cbdcc6;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.position-preset-icon svg{width:30px;height:30px}.position-preset-card strong{color:#244b2b;font-size:.95rem}.position-preset-explanation{color:#586a5b;font-size:.8rem;line-height:1.35}.position-preset-chips{flex-wrap:wrap;gap:.28rem;display:flex}.position-preset-chip{color:#4c654e;white-space:nowrap;background:#f3f7f0;border:1px solid #dce6d7;border-radius:999px;padding:.16rem .43rem;font-size:.69rem;font-weight:700;line-height:1.2}.position-preset-card[aria-pressed=true] .position-preset-chip{background:#e3efde;border-color:#c8dec1}.position-custom-preset{border-style:dashed;margin-top:.6rem}.position-advanced-dialog{width:min(650px,100vw - 2rem);max-height:min(88dvh,800px);overflow-y:auto}.position-advanced-base{color:#536b55;margin:.1rem 0 .85rem;font-size:.86rem}.position-advanced-base strong{color:#244b2b}.position-advanced-group{background:#fcfdfb;border:1px solid #d9e2d4;border-radius:9px;margin-top:.65rem;padding:.75rem}.position-advanced-group h3{color:#244b2b;margin:0 0 .55rem;font-size:.92rem}.position-advanced-chips{flex-wrap:wrap;gap:.4rem;display:flex}.position-advanced-empty{color:#6b776b;margin:.15rem 0;font-size:.84rem}.position-advanced-chip{color:#244b2b;background:#eaf3e6;border:1px solid #bcd2b7;border-radius:999px;align-items:center;max-width:100%;font-size:.8rem;font-weight:750;display:inline-flex}.position-advanced-chip>span,.position-advanced-chip>button:first-child{min-height:32px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:.4rem .25rem .4rem .7rem}.position-advanced-chip>button:first-child:hover{text-decoration:underline}.position-advanced-chip .position-advanced-remove{color:#486b49;background:0 0;border:0;border-radius:0 999px 999px 0;align-self:stretch;min-width:30px;font-size:1.2rem;line-height:1}.position-advanced-chip .position-advanced-remove:hover{background:#d9ead4}.position-advanced-add{color:#315f35;background:0 0;border:1px dashed #7fa27b;border-radius:6px;min-height:32px;margin-top:.7rem;padding:.32rem .65rem;font-size:.8rem}.position-advanced-add:hover{background:#f4f8f1;border-color:#477a48}.position-advanced-picker{background:#f9fbf7;border:1px solid #d7dfd2;border-radius:9px;gap:.85rem;max-height:240px;margin-top:.65rem;padding:.7rem;display:grid;overflow-y:auto}.position-advanced-options{flex-wrap:wrap;gap:.35rem;display:flex}.position-advanced-options button{color:#285d32;background:#fff;border:1px solid #d0ddca;border-radius:7px;min-height:32px;padding:.35rem .55rem;font-size:.78rem;font-weight:700}.position-advanced-options button:hover{background:#edf5e9;border-color:#6b9a68}.position-advanced-editor{background:#f7faf5;border:1px solid #d7dfd2;border-radius:9px;gap:.55rem;margin-top:.7rem;padding:.75rem;display:grid}.position-advanced-editor>strong{color:#244b2b;font-size:.86rem}.position-advanced-fields{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.position-advanced-fields label,.position-advanced-fields small{color:#536b55;font-size:.78rem}.position-advanced-fields input,.position-advanced-fields select{color:#233027;background:#fff;border:1px solid #c4d2bf;border-radius:7px;width:auto;min-width:120px;max-width:100%;min-height:36px;padding:.35rem .5rem}.position-advanced-fields input[type=number]{width:90px;min-width:85px}.position-advanced-editor-actions{justify-content:flex-end;gap:.45rem;display:flex}.position-advanced-feedback{margin-top:.75rem}.recovery-dialog{width:min(560px,100vw - 2rem)}.recovery-dialog h3{margin:1.3rem 0 .35rem;font-size:1.15rem}.recovery-dialog label{margin:1.2rem 0 .35rem;font-size:.84rem;font-weight:800;display:block}.recovery-dialog input{color:#233027;background:#fff;border:1px solid #b7c9b3;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:.5rem .7rem}.recovery-key-row{align-items:center;gap:.4rem;display:flex}.recovery-key-row input{flex:1;font-family:ui-monospace,Consolas,monospace}.recovery-key-row button{flex:none}.recovery-unavailable{color:#5a6b5b;background:#f0f5ed;border-radius:8px;padding:.85rem}.recovery-warning{color:#695c47;font-size:.9rem}.recovery-error{color:#9c3d36;margin-bottom:0;font-size:.88rem}.danger-button{background:#a7463a;border-color:#88372e}.danger-button:hover{background:#87362e}.group-drill-heading{border-bottom:1px solid #e7e6dc;flex:none;gap:.4rem;padding:.85rem 1.15rem 1rem;display:grid}.back-button{color:#285d32;text-align:left;background:#e9f3e6;border:1px solid #a9c8a3;border-radius:9px;justify-self:stretch;align-items:center;gap:.65rem;min-height:46px;margin-bottom:.5rem;padding:.55rem .8rem;font-size:.9rem;font-weight:800;display:flex}.back-button:hover,.back-button:focus-visible{background:#dcebd7;border-color:#5e945d}.back-button span:first-child{font-size:1.2rem;line-height:1}.group-drill-heading label{color:#657365;font-size:.7rem;font-weight:700}.group-drill-heading input{width:100%;min-height:38px;color:inherit;background:#fff;border:1px solid #d3d9cf;border-radius:7px;padding:.3rem .5rem;font-weight:750}.group-drill-heading small{color:#718074;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-pager{color:#5b6d5d;border-top:1px solid #e7e6dc;justify-content:center;align-items:center;gap:1rem;padding:.5rem;font-size:.8rem;font-weight:800;display:flex}.item-pager button{color:#315f35;background:#f5f9f2;border:1px solid #c7d4c4;border-radius:6px;width:34px;height:32px;font-size:1.1rem}.item-row{border:1px solid #0000;border-radius:10px;align-items:center;gap:.2rem;margin-bottom:.25rem;display:flex}.item-row:hover,.item-row.selected{background:#edf5e9;border-color:#bed3b7}.item-select{min-width:0;min-height:65px;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:.55rem;padding:.45rem;display:flex}.item-number{color:#7b9a78;align-self:flex-start;padding-top:.2rem;font-size:.7rem;font-weight:800}.item-copy{flex:1;gap:.25rem;min-width:0;display:grid}.item-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.item-copy small{color:#6b776b;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.item-chevron{color:#779178;font-size:1.3rem}.item-actions{gap:0;padding-right:.2rem;display:flex}.item-actions button{color:#a45a4d;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;padding:0;display:grid}.item-actions button:hover{background:#fae9e5}.item-actions svg{width:20px;height:20px}.items-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:1.5rem;display:flex}.items-empty>div{color:#93ad89;font-size:3rem}.items-empty h3{margin:.4rem 0 0}.items-empty p{color:#6b766c;font-size:.85rem;line-height:1.45}.preview-panel{padding:clamp(1rem,1.4vw,1.5rem);overflow-y:auto}.preview-heading{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1rem;display:flex}.preview-heading h2{margin:.35rem 0 0;font-size:clamp(1.2rem,1.6vw,1.7rem)}.kind-badge{color:#315f35;background:#e8f1e5;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:800}.preview-body{grid-template-columns:minmax(240px,1.1fr) minmax(200px,.8fr);gap:clamp(.85rem,1.5vw,1.5rem);display:grid}.board-column{min-width:0}.board-host{aspect-ratio:1;pointer-events:none;border:5px solid #e8e2d2;border-radius:7px;width:min(100%,560px,max(240px,100dvh - 420px));margin:auto;overflow:hidden}.board-controls{justify-content:center;align-items:center;gap:.35rem;margin-top:.8rem;display:flex}.board-controls button{color:#315f35;background:#f5f9f2;border:1px solid #c7d4c4;border-radius:8px;width:43px;height:42px;font-size:1.3rem}.board-controls span{text-align:center;color:#516352;min-width:62px;font-size:.85rem;font-weight:800}.move-caption{color:#5b6c5e;text-align:center;margin-top:.55rem;font-size:.85rem}.details-column{min-width:0}.details-column>label{color:#5e6c60;margin-bottom:.3rem;font-size:.77rem;font-weight:800;display:block}.details-column>input{width:100%;min-height:45px;color:inherit;background:#fff;border:1px solid #d5d8cc;border-radius:8px;padding:.55rem .65rem;font-weight:700}.detail-block{border-top:1px solid #ebe9de;margin-top:1.4rem;padding-top:1rem}.description{max-height:300px;margin-top:.7rem;font-size:.9rem;line-height:1.5;overflow-y:auto}.description>:first-child{margin-top:0}.description ul,.description ol{padding-left:1.3rem}.move-comment{font-size:.9rem;line-height:1.45}.move-comment>:first-child{margin-top:.7rem}.move-comment ul,.move-comment ol{padding-left:1.3rem}.metadata{border-top:1px solid #ebe9de;gap:.3rem;margin:1.3rem 0 0;padding-top:1rem;display:grid}.metadata div{grid-template-columns:70px minmax(0,1fr);gap:.5rem;font-size:.82rem;display:grid}.metadata dt{color:#6d796e}.metadata dd{overflow-wrap:anywhere;margin:0;font-weight:650}.lesson-metadata{color:#39483c;gap:.45rem;margin:1.1rem 0 0;font-size:.82rem;display:grid}.lesson-metadata div{grid-template-columns:75px minmax(0,1fr);gap:.5rem;display:grid}.lesson-metadata dt{color:#6b776b}.lesson-metadata dd{overflow-wrap:anywhere;margin:0;font-weight:650}.warning{color:#6e5528;background:#fff7e8;border-left:3px solid #c69a3d;padding:.7rem;font-size:.8rem;line-height:1.4}.preview-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:0;padding:2rem;display:flex}.preview-empty-icon{color:#a8bd9d;margin-bottom:1rem;font-size:4.5rem}.preview-empty h2{margin:.7rem 0 0}.preview-empty p{color:#6e786d;max-width:23rem;line-height:1.4}.import-summary{width:min(100%,620px);margin:clamp(.5rem,3vh,2rem) auto}.import-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.import-summary-header>div{min-width:0}.import-summary-delete{color:#9c3d36;flex:none}.import-summary h2{margin:.5rem 0 .4rem;font-size:clamp(1.35rem,2vw,2rem)}.summary-type{color:#315f35;background:#e9f3e6;border-radius:999px;padding:.32rem .6rem;font-size:.75rem;font-weight:800;display:inline-block}.summary-count{color:#315f35;background:#f2f8ef;border:1px solid #d7e7d0;border-radius:12px;align-items:baseline;gap:.7rem;margin:1.4rem 0 1.1rem;padding:1.15rem 1.3rem;display:flex}.summary-count strong{font-size:clamp(2.4rem,4vw,4rem);line-height:1}.summary-count span{font-size:1rem;font-weight:800}.summary-count-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.summary-stat{align-content:center;gap:.25rem;display:grid}.summary-stat+.summary-stat{border-left:1px solid #d7e7d0;padding-left:1rem}.import-summary dl{margin:0}.import-summary dl div{border-bottom:1px solid #e6e9df;grid-template-columns:120px minmax(0,1fr);gap:1rem;padding:.6rem .15rem;font-size:.88rem;display:grid}.import-summary dt{color:#667468}.import-summary dd{overflow-wrap:anywhere;margin:0;font-weight:750}.summary-sample{margin-top:1.5rem}.summary-sample ol{gap:.55rem;margin:.7rem 0;padding-left:1.5rem;font-size:.88rem;display:grid}.import-summary>p{color:#667468;margin-top:1.25rem;font-size:.9rem;line-height:1.45}.notice{z-index:10;color:#285230;opacity:0;pointer-events:none;background:#f7fbf5;border:1px solid #b7cbb0;border-radius:10px;max-width:min(480px,100vw - 2rem);padding:.85rem 1rem;transition:all .2s;position:fixed;bottom:1rem;right:1rem;transform:translateY(10px);box-shadow:0 8px 25px #0002}.notice.visible{opacity:1;transform:none}.app-update{z-index:11;background:#fff;border:1px solid #a4c39c;border-radius:10px;align-items:center;gap:.5rem;padding:1rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 25px #0002}.app-update[hidden]{display:none}.app-update button{background:#eef6eb;border:1px solid #9db69a;border-radius:6px;padding:.4rem .6rem}.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}@media (width<=1250px){.content-layout{grid-template-columns:minmax(230px,300px) minmax(0,1fr)}.preview-body{grid-template-columns:1fr}.board-host{max-width:450px}.details-column{grid-template-columns:1fr 1fr;column-gap:1rem;display:grid}.details-column>label,.details-column>input{grid-column:1/-1}.detail-block{margin-top:1rem}}@media (width<=1000px){.position-teaching-layout{grid-template-columns:1fr}.position-teaching-sequence{min-height:0}}@media (width<=900px){.app-main{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.collections-panel{max-height:160px}.panel-heading{padding:.75rem 1rem .25rem}.collection-list{padding-bottom:.55rem;display:flex;overflow:auto hidden}.collection-card{flex:0 0 205px}.sidebar-footer{display:none}.content-layout{grid-template-columns:minmax(220px,37%) minmax(0,1fr)}.header-note{display:none}.item-select{min-height:48px}.position-board-layout{grid-template-columns:1fr}.position-board-column{max-width:560px}.position-editor-side{min-height:0}}@media (width<=670px){.position-teaching-view{overflow:visible}.position-teaching-heading{flex-direction:column;align-items:flex-start}.position-teaching-board{width:100%;max-width:660px}.position-kind-grid{grid-template-columns:1fr}.position-mini-browser{min-height:calc(100dvh - 200px)}.position-mini-browser-filters{grid-template-columns:1fr}.position-mini-browser .library-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.position-mini-browser-footer{flex-direction:column;align-items:stretch}.position-mini-browser-footer .primary{align-self:flex-end}body{overflow:auto}#app{height:auto;min-height:100dvh;overflow:visible}.app-header{min-height:70px}.brand img{width:110px}.app-main{height:auto;min-height:calc(100dvh - 70px);display:block;overflow:visible}.collections-panel{min-height:130px;margin-bottom:.9rem}.work-area{min-height:0}.collection-header{flex-direction:column;align-items:stretch}.collection-actions{justify-content:flex-start}.publish-actions{justify-content:flex-start;margin-left:0}.content-layout{grid-template-columns:1fr;display:grid;overflow:visible}.items-panel,.preview-panel{min-height:0}.items-list,.groups-list{max-height:330px}.preview-panel{overflow:visible}.preview-body{grid-template-columns:1fr}.details-column{display:block}.position-work-area,.position-editor{overflow:visible}.position-editor-heading{flex-wrap:wrap}.position-header-actions{justify-content:flex-end;width:100%}}@media (width<=430px){.position-mini-paths,.position-mini-browser .library-gallery-grid{grid-template-columns:1fr}.position-palette-tool{grid-template-rows:1fr}.position-palette-tool svg{align-self:center}.position-palette-tool small{display:none}.position-place-row{grid-template-columns:repeat(2,minmax(0,1fr))}.position-quantity{justify-self:start}.position-remove-row{justify-self:end}.app-header{flex-wrap:wrap;padding-inline:.65rem}.brand{gap:.45rem}.brand img{width:86px}.brand-title{padding-left:.45rem}.brand-title span{font-size:.58rem}.brand-title h1{font-size:1.3rem}.recovery-key-row{flex-wrap:wrap}.recovery-key-row input{flex-basis:100%}.collection-fields{grid-template-columns:1fr;gap:.35rem}.publish-access{flex-wrap:wrap}.header-actions{justify-content:space-between;gap:.35rem;width:100%}.area-navigation button{padding-inline:.45rem;font-size:.8rem}.header-actions>.secondary{padding-inline:.5rem;font-size:.8rem}}
