@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-ext-400-normal-2ZR6XYBL.woff2") format("woff2"),url("./media/dm-sans-latin-ext-400-normal-TBIAKTDR.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-400-normal-PK6QQEPM.woff2") format("woff2"),url("./media/dm-sans-latin-400-normal-MGJ5Z327.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-ext-500-normal-26EY6OLJ.woff2") format("woff2"),url("./media/dm-sans-latin-ext-500-normal-7LSA2WRE.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-500-normal-EEBZRNR6.woff2") format("woff2"),url("./media/dm-sans-latin-500-normal-DXK3D23C.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-ext-600-normal-I7LCOF75.woff2") format("woff2"),url("./media/dm-sans-latin-ext-600-normal-EPKCPTQL.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-600-normal-VVAUUCVV.woff2") format("woff2"),url("./media/dm-sans-latin-600-normal-RFO53SGX.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-ext-700-normal-YO5Z2BEM.woff2") format("woff2"),url("./media/dm-sans-latin-ext-700-normal-MVCRPVDV.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-700-normal-3NSIJ7YI.woff2") format("woff2"),url("./media/dm-sans-latin-700-normal-X22FQDE6.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-cyrillic-ext-600-normal-U5GECYOH.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-600-normal-IVKQRYIO.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-cyrillic-600-normal-QS5BESSN.woff2") format("woff2"),url("./media/manrope-cyrillic-600-normal-2ZNMQ7MM.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-greek-600-normal-PLRTSMFC.woff2") format("woff2"),url("./media/manrope-greek-600-normal-NT4OH42D.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-vietnamese-600-normal-TP6N6ULK.woff2") format("woff2"),url("./media/manrope-vietnamese-600-normal-M2ZPYF2O.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-latin-ext-600-normal-CE2JFXTT.woff2") format("woff2"),url("./media/manrope-latin-ext-600-normal-YZEGJJZ5.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./media/manrope-latin-600-normal-55ATVHX7.woff2") format("woff2"),url("./media/manrope-latin-600-normal-XW3XBGN3.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-ext-700-normal-LJBM5ICA.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-700-normal-5KNENMKG.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-700-normal-UOVYS47P.woff2") format("woff2"),url("./media/manrope-cyrillic-700-normal-G6GX7EQ7.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-greek-700-normal-CDMUANUE.woff2") format("woff2"),url("./media/manrope-greek-700-normal-7TUBUZJY.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-vietnamese-700-normal-BFHQAP4S.woff2") format("woff2"),url("./media/manrope-vietnamese-700-normal-BDCK3BKG.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-ext-700-normal-ZRNEGYSR.woff2") format("woff2"),url("./media/manrope-latin-ext-700-normal-2THVGD2M.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-700-normal-J7BHEPTZ.woff2") format("woff2"),url("./media/manrope-latin-700-normal-SE4WUS6C.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.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{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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;font-size:7px;cursor:default}.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:2px solid #0066cc;outline-offset:2px}:root{--paper: #f9faf8;--surface: #ffffff;--ink: #232a25;--muted: #6b746c;--line: #dfe5de;--green: #256447;--green-dark: #184a33;--mint: #e6f0e8;--red: #a93540;--yellow: #f0c64c;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;letter-spacing:0}.cm-chessboard.green .board .square.white{fill:#eeeed2}.cm-chessboard.green .board .square.black{fill:#769656}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,.button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;max-width:100%;overflow-wrap:anywhere}button:hover,.button:hover{background:#f0f3ee;border-color:#b7c8b9}button:disabled{opacity:.48;cursor:not-allowed}button svg,a svg,.inline svg{flex:0 0 auto}svg[lucideGraduationCap],svg[lucideBookOpen],svg[lucideUsers],svg[lucideClipboardCheck],svg[lucideKeyRound],svg[lucideLogOut],svg[lucideX],svg[lucideCheck],svg[lucideArrowRight],svg[lucideArrowLeft],svg[lucidePlus],svg[lucideSave],svg[lucideTrash2],svg[lucideRotateCcw],svg[lucideUndo2],svg[lucideFlag],svg[lucideChevronRight],svg[lucideLightbulb]{width:19px;height:19px;stroke-width:1.7}.primary{color:#fff;background:var(--green);border-color:var(--green)}.primary:hover{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}.quiet{background:transparent;border-color:transparent}.icon-button{padding:9px;width:42px;height:42px;flex:0 0 42px}.danger{color:var(--red)}.full{width:100%}:focus-visible{outline:3px solid #d5ab32;outline-offset:3px}input,textarea,select{display:block;width:100%;min-width:0;border:1px solid #cbd4ca;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;min-height:44px;font-size:14px}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#929991}label{display:flex;flex-direction:column;gap:8px;color:#4a544c;font-size:13px;font-weight:600}h1,h2,h3,p{margin:0;overflow-wrap:anywhere}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:700}h1{font-size:34px;line-height:1.25}h2{font-size:20px;line-height:1.35}h3{font-size:14px}p{line-height:1.65;color:var(--muted);font-size:14px}small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:0;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.heading-dot{color:var(--green)}.stack{display:flex;flex-direction:column;gap:20px}.narrow{max-width:440px}.inline,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.align-start{align-self:flex-start}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-layout{min-height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:32px 20px 20px;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;padding:0 0 38px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:6px;flex-shrink:0}.brand-mark svg{width:24px;height:24px}.brand-subtitle{display:block;color:var(--muted);font-size:8px;margin-top:5px;font-family:DM Sans,sans-serif}nav{display:flex;flex-direction:column;gap:6px}nav a{display:flex;align-items:center;gap:12px;padding:13px 15px;color:var(--muted);border-radius:4px;font-size:14px;font-weight:500}nav a:hover{background:#f5f7f3}nav a.active{color:var(--green);background:var(--mint);font-weight:700}.sidebar-bottom{margin-top:auto;padding-top:40px}.account-link{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:20px 0 14px;font-size:13px}.account-link>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.account-link small{display:block;margin-top:4px;color:var(--muted)}.avatar{width:34px;height:34px;display:inline-grid;place-items:center;background:#edf0e9;color:var(--green);border-radius:50%;flex-shrink:0;font-weight:700}.main-content{padding:48px 48px 64px;max-width:1500px;width:100%;margin:0 auto;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.page-heading h1{margin-top:10px}.page-heading p{margin-top:12px}.page-heading.compact{margin:22px 0 28px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:38px}.metrics>div{padding:0 30px;border-left:1px solid var(--line)}.metrics>div:first-child{padding-left:0;border:0}.metrics span{display:block;font-size:10px;color:var(--muted);font-weight:600}.metrics strong{display:block;font-family:Manrope,sans-serif;font-size:32px;margin-top:10px}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.section-bar>input,.search-label{max-width:240px}.chapter-list{display:flex;flex-direction:column;gap:16px}.chapter-item{display:flex;gap:24px;align-items:center;background:var(--surface);padding:26px;border:1px solid var(--line);border-radius:6px;animation:enter .25s ease-out both}.chapter-number{height:78px;width:78px;flex-shrink:0;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:30px;color:var(--green);background:repeating-conic-gradient(#e9f0e7 0% 25%,#f2f5ee 0% 50%) 0/26px 26px}.chapter-info{flex:1;min-width:0}.chapter-info h2{margin:9px 0 6px}.chapter-meta{display:flex;gap:20px;margin-top:18px;color:var(--muted);font-size:12px}.chapter-meta>span{display:flex;align-items:center;gap:6px}.chapter-meta svg{height:14px;width:14px}.chapter-actions{display:flex;align-items:stretch;flex-direction:column;gap:8px;max-width:210px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;max-width:100%;padding:5px 9px;font-size:11px;font-weight:600;border-radius:3px;background:#edf0eb;color:#626b61;overflow-wrap:anywhere}.badge[data-grade=Excellent],.badge[data-grade=published]{background:#e2f1e7;color:#22613e}.badge[data-grade=Good]{background:#e3eef9;color:#295e90}.badge[data-grade="Pass Mark"]{background:#fcf0ce;color:#7d611b}.badge[data-grade=Failed]{background:#f9e6e8;color:#a2303f}.progress-line{display:flex;gap:12px;align-items:center;margin-top:18px;font-size:11px;color:var(--muted)}progress{appearance:none;border:none;width:100%;height:5px;background:#e6ebe3;border-radius:2px;overflow:hidden}progress::-webkit-progress-bar{background:#e6ebe3}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.progress-line progress{max-width:120px}.empty{padding:64px 20px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.empty>svg{width:32px;height:32px;margin-bottom:14px}.empty h2{color:var(--ink);margin-bottom:10px}.table-scroll{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{padding:15px 16px;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:600;background:#f0f3ee}td{padding:18px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.table-sub{display:block;margin-top:5px;color:var(--muted)}.person{display:flex;align-items:center;gap:10px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#1c292777;display:grid;place-items:center;padding:20px}.modal{width:min(480px,100%);background:#fff;padding:28px;border-radius:8px;max-height:90dvh;overflow-y:auto;box-shadow:0 15px 60px #10201525}.toast{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;gap:12px;align-items:center;max-width:min(540px,100% - 32px);padding:12px 14px 12px 20px;border:1px solid var(--line);border-radius:6px;box-shadow:0 5px 24px #172a171a;background:#fff;font-size:13px}.toast.error{border-left:4px solid var(--red)}.toast.success{border-left:4px solid var(--green)}.toast>span{flex:1;overflow-wrap:anywhere}.danger-fill{color:#fff;background:var(--red);border-color:var(--red)}.danger-fill:hover{color:#fff;background:#8c2933;border-color:#8c2933}.confirm-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:confirm-fade .14s ease-out}.confirm-dialog{width:min(420px,100%);padding:24px;border-top:4px solid var(--green);animation:confirm-in .18s cubic-bezier(.2,1.2,.4,1)}.confirm-dialog:has(.confirm-icon.danger){border-top-color:var(--red)}.confirm-head{display:flex;align-items:center;gap:12px}.confirm-head h2{margin:0;font-size:19px;line-height:1.3}.confirm-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--mint)}.confirm-icon.danger{color:var(--red);background:#f8e5e7}.confirm-icon svg{width:20px;height:20px}.confirm-dialog p{margin:12px 0 0 50px;color:var(--muted);line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}@keyframes confirm-fade{0%{opacity:0}}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px) scale(.97)}}.tabs{display:flex;align-items:center;gap:22px;min-width:0}.tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:16px 0;color:var(--muted)}.tabs button.active{border-bottom-color:var(--green);color:var(--green)}.tabs button span{background:#e7ece3;padding:2px 6px;font-size:10px;border-radius:3px}.settings-band{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.settings-band summary{font-size:14px;font-weight:600;cursor:pointer}.settings-band summary span{color:var(--muted);font-weight:400;font-size:12px;margin-left:10px}.settings-band form{margin-top:24px}.puzzle-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.puzzle-strip button{font-size:12px;padding:8px 12px;min-height:36px}.selected{background:var(--mint);border-color:var(--green);color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:start}.workspace>*{min-width:0}.board-column .section-bar h2{font-size:16px}.board-toolbar{display:flex;justify-content:flex-end;height:30px;margin-bottom:2px}.board-toolbar .icon-button{width:30px;height:30px;min-height:30px;padding:4px}.board-wrap{position:relative;width:100%;aspect-ratio:1;background:#e4e9e0}.board-surface{width:100%;height:100%}.board-surface svg.cm-chessboard{display:block}.piece-palette{display:flex;flex-wrap:wrap;gap:5px;margin:20px 0 12px}.piece-button{width:36px;height:38px;padding:2px;flex-basis:36px}.piece-button svg{width:32px;height:32px}.fen-metadata{margin-top:20px}.mono,.notation{font-family:Courier New,monospace;font-size:13px;overflow-wrap:anywhere}.segmented{display:flex;border:1px solid var(--line);border-radius:5px;padding:4px;gap:4px}.segmented button{border:0;background:none;flex:1;border-radius:3px}.segmented button.selected{background:var(--green);color:#fff}.segmented.small{padding:2px;flex-shrink:0}.segmented.small button{font-size:11px;padding:7px 10px;min-height:30px;min-width:62px;white-space:nowrap}.promotion{position:absolute;inset:25% 7% auto;padding:24px;background:#fff;box-shadow:0 4px 40px #172a1733;z-index:3;border-radius:6px}.promotion .button-row{margin-top:16px}.play-workspace{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);max-width:1080px}.board-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:12px}.board-topline span{color:var(--muted)}.play-sidebar{display:flex;flex-direction:column;gap:22px;padding:0 0 0 24px;border-left:1px solid var(--line)}.move-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.move-table{max-height:240px;overflow-y:auto;margin:14px -10px 0;padding:4px 10px}.move-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:36px}.move-number{color:var(--muted);font-size:12px}.move-cell{min-width:0}.move-link,.move-notation{min-height:30px;padding:5px 8px;font-size:14px;font-weight:600}.move-link{border:0;border-radius:3px;background:transparent}.move-link:not(:disabled):hover{background:var(--surface)}.move-link.current{color:#fff;background:var(--green)}.move-navigation{display:flex;flex-direction:row;width:100%;gap:6px;margin-top:14px}.move-navigation button{flex:1 1 0;min-width:0;height:54px;padding:8px;background:var(--mint);border-color:#d3e2d5}.move-navigation button:not(:disabled):hover{background:#d7e8da}.move-navigation svg{width:23px;height:23px;stroke-width:2.4}.feedback{display:flex;align-items:center;gap:10px;font-size:13px;padding:14px;background:#fcf0d9;color:#7a5a18}.feedback.correct{background:var(--mint);color:var(--green)}.hint-panel{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#f8f2d9}.hint-panel svg{flex-shrink:0;color:#8d6a11}.hint-panel p{color:#75622c}.save-state{font-size:11px;color:var(--green)}.nav-count{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:10px;background:var(--green);color:#fff;font-size:11px;font-weight:700;text-align:center}.coach-entry{display:flex;flex-direction:column;gap:6px}.coach-entry small{font-size:12px;color:var(--muted)}.coach-clocks{display:grid;gap:6px}.clock{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.clock span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clock strong{font-family:Courier New,monospace;font-size:22px;font-variant-numeric:tabular-nums;min-width:6ch;text-align:right}.clock.running{border-color:var(--green);background:var(--mint)}.clock.running span{color:var(--green)}.clock.low strong{color:var(--red)}.coach-start{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.time-control{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.time-control select{min-height:42px;width:auto}.coach-status{padding:14px;font-size:14px;font-weight:600;background:#edf0eb;color:var(--ink)}.coach-status.your-turn{background:var(--mint);color:var(--green)}.coach-status.waiting{background:#fcf0d9;color:#7a5a18}.coach-status.game-over{--flash: rgb(37 100 71 / 55%);display:flex;align-items:center;gap:10px;padding:16px 18px;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;color:#fff;background:var(--green);border-radius:6px;animation:game-over-pop .42s cubic-bezier(.2,1.4,.4,1),game-over-flash 1s ease-out .42s 3}.coach-status.game-over svg{width:24px;height:24px;flex-shrink:0}.coach-status.game-over[data-outcome=loss]{--flash: rgb(169 53 64 / 55%);background:var(--red)}.coach-status.game-over[data-outcome=draw]{--flash: rgb(138 90 18 / 55%);background:#8a5a12}@keyframes game-over-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes game-over-flash{0%{box-shadow:0 0 0 0 var(--flash);filter:brightness(1.25)}to{box-shadow:0 0 0 14px transparent;filter:brightness(1)}}.reference-panel{display:flex;flex-direction:column;gap:12px;background:#fbfaf3;padding-inline:12px}.exam-progress{display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--muted);margin:12px 0}.result-band{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-block:1px solid var(--line);margin-bottom:32px}.result-band span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.result-band h2{font-size:24px}.result-band strong{font-family:Manrope,sans-serif;font-size:34px}.result-band strong small{font-size:18px}.review-section{margin-top:40px;border-top:1px solid var(--line);padding-top:26px}.review-points{margin-top:26px}.field-error{color:var(--red);margin-top:10px;font-size:12px}.auth-page{min-height:100dvh;background:linear-gradient(110deg,#f8faf6,#fff 60%);padding:36px 6%}.auth-brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:20px;font-weight:700}.auth-brand>svg{color:var(--green);width:30px;height:30px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:90px;max-width:1120px;margin:70px auto 40px}.auth-form{max-width:400px}.auth-form h1{font-size:42px;margin:14px 0 32px}.auth-form .segmented{margin-bottom:26px}.auth-form form .primary{margin-top:8px}.auth-art{padding:50px 30px;background:#e8eee4;border-top:6px solid var(--green)}.art-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;transform:rotate(-6deg);margin:20px 0 40px;box-shadow:12px 18px #ced9c7}.art-board>span{aspect-ratio:1;display:grid;place-items:center;background:#eef2e6}.art-board>span.dark{background:#6e8e70}.art-board svg{width:90%;height:90%}.art-caption{font-size:10px;font-weight:700;display:block;text-align:center;color:#52654e}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.main-content{padding-top:60px}}.classroom-list{display:flex;flex-direction:column;gap:14px}.classroom-item{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);padding:20px 24px;border:1px solid var(--line);border-radius:6px;animation:enter .25s ease-out both}.classroom-info h2{margin:4px 0 6px}.classroom-note{margin-top:22px;font-size:12px}.presence-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--mint);vertical-align:middle}.presence-dot.away{background:#b4bcb5;box-shadow:none}.call-panel{display:flex;flex-direction:column;gap:10px}.call-status{font-size:13px;color:var(--muted)}.call-panel .icon-button.selected{color:#fff;background:var(--red);border-color:var(--red)}.call-controls{display:flex;align-items:center;gap:8px}.call-controls .call-status{flex:1;margin:0}.teacher-tools{display:flex;flex-direction:column;gap:12px}.teacher-tools .button-row button{padding-inline:10px}.button-row button.selected{background:var(--mint);border-color:var(--green);color:var(--green)}.switch-row{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:600;cursor:pointer}.switch-row input{width:18px;height:18px;accent-color:var(--green)}.import-form{gap:10px}.editor-help{margin:-4px 0 10px;font-size:12px}.editor-actions{justify-content:flex-end;margin-top:14px}@media(min-width:851px){.classroom-workspace .play-sidebar{max-height:calc(100dvh - 150px);overflow-y:auto;padding-right:6px}}@media(max-width:1150px){.app-layout{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-inline:14px}.main-content{padding:36px 26px}.brand{font-size:12px}.chapter-item{gap:16px;padding:22px}.chapter-number{width:58px;height:64px;font-size:24px}.workspace{gap:24px}.play-workspace{grid-template-columns:minmax(0,1.1fr) minmax(240px,.8fr)}.play-sidebar{padding-left:18px}.auth-layout{gap:50px}}@media(max-width:850px){.app-layout{display:block}.sidebar{position:static;height:auto;padding:18px 24px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:14px}.brand{padding:0;font-size:14px}.brand-subtitle{font-size:8px}.sidebar nav{grid-row:2;grid-column:1/-1;flex-direction:row;gap:4px}nav a{border-radius:4px 4px 0 0;padding:12px;font-size:12px}.sidebar-bottom{margin:0;padding:0;display:flex;gap:5px;align-items:center}.account-link{border:0;padding:0}.account-link>span:nth-child(2),.account-link>svg{display:none}.sidebar-bottom .full{font-size:0;width:38px;padding:8px}.sidebar-bottom .full svg{width:19px}.main-content{padding:32px 24px 60px}.auth-art{padding:35px 20px}.auth-layout{gap:40px;margin-top:60px}.auth-form h1{font-size:34px}.chapter-actions{max-width:160px}}@media(max-width:650px){.confirm-dialog p{margin-left:0}.confirm-actions button{flex:1 1 auto}.main-content{padding:28px 18px 70px}.sidebar{padding:16px 18px 0}.page-heading{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:26px}h1{font-size:28px}.page-heading>.primary{min-height:38px;font-size:12px}.metrics{padding:20px 0;margin-bottom:28px}.metrics>div{padding:0 14px}.metrics span{font-size:8px}.metrics strong{font-size:26px}.section-bar{flex-wrap:wrap}.section-bar h2{font-size:18px}.section-bar>input,.search-label{max-width:100%;width:100%}.chapter-item{padding:20px;flex-wrap:wrap;gap:14px}.chapter-number{height:52px;width:52px;font-size:21px;align-self:flex-start}.chapter-info{flex-basis:calc(100% - 66px)}.chapter-info h2{font-size:18px}.chapter-actions{max-width:none;width:100%;flex-direction:row;flex-wrap:wrap;margin-top:8px}.chapter-actions>.badge{flex-basis:100%;margin-bottom:6px}.chapter-actions>.button{flex:1}.workspace,.play-workspace{grid-template-columns:minmax(0,1fr);gap:30px}.board-column{max-width:520px}.play-sidebar{padding-left:0;border:0}.authoring-fields{border-top:1px solid var(--line);padding-top:24px}.form-grid{gap:10px}.form-grid label{font-size:11px}.form-grid input,.form-grid select{padding:10px 8px}.settings-band summary span{display:block;margin:8px 0 0 16px}.tabs{gap:16px}.tabs button{font-size:12px}.puzzle-strip{gap:6px}.auth-page{padding:26px 24px}.auth-brand{font-size:18px}.auth-layout{grid-template-columns:1fr;gap:40px;margin:48px auto 20px;max-width:420px}.auth-form{max-width:none}.auth-form h1{font-size:36px}.auth-art{padding:24px 46px}.art-board{margin:15px 0 30px}.result-band{gap:18px;flex-wrap:wrap}.result-band h2{font-size:22px}.result-band strong{font-size:30px}.modal{padding:22px}.toast{right:16px;bottom:16px}th,td{padding:14px 10px}}@media(min-width:851px)and (max-height:900px){.main-content:has(.play-workspace){padding:14px 28px 0}.main-content:has(.play-workspace) .page-heading.compact{margin:8px 0}.main-content:has(.play-workspace) .page-heading.compact h1{margin-top:4px}.main-content:has(.play-workspace) .result-band{padding:10px 0;margin-bottom:12px}.play-workspace{grid-template-columns:minmax(0,1fr) minmax(270px,.78fr);gap:18px;max-width:1200px}.play-workspace>section:first-child{width:min(100%,100dvh - 190px);justify-self:center}.play-workspace>section:first-child .board-wrap{width:100%}.play-sidebar{gap:7px;padding-left:14px}.play-sidebar label{gap:5px}.play-sidebar select{min-height:38px;padding-block:8px}.move-panel{padding:9px 0}.move-table{max-height:clamp(64px,100dvh - 630px,200px)}.move-navigation{margin-top:7px}.move-navigation button{height:42px}.exam-progress{gap:4px;margin:4px 0}.play-sidebar .section-bar{margin-bottom:0}.board-topline{margin-bottom:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
