:root{font-family:system-ui,-apple-system,sans-serif;color:#153144;background:#f0f4f7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{padding:25px 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d4dfe6;background:white}.brand{font-weight:750;color:#153144;text-decoration:none;font-size:21px}.brand span{color:#49711c}.edition,.eyebrow{font-size:13px;letter-spacing:1.8px;font-weight:750}.edition{color:#546677}main{max-width:1450px;margin:auto;display:grid;grid-template-columns:300px 1fr;min-height:80vh}aside{background:#153144;color:white;padding:38px 30px}aside h1{font-size:48px;line-height:1.05;letter-spacing:-2px;margin:24px 0}aside p{line-height:1.65;color:#c7d8e3}aside .eyebrow{color:#b6f35b}label{display:block;margin:24px 0 8px;font-size:14px;font-weight:650}select{padding:12px;border-radius:8px;background:#fff;color:#153144;font:inherit;width:100%;border:1px solid #b9cad5}.source{font-size:13px;color:#c7d8e3;margin-top:40px;line-height:1.6}.source a{color:#b6f35b}.source p{font-size:13px}.workspace{padding:32px 40px}.top{display:flex;justify-content:space-between;gap:15px;margin-bottom:24px}.top #score{font-size:14px;color:#526875}nav{display:flex;gap:8px;flex-wrap:wrap}button{font:inherit;border:0;background:#153144;color:white;padding:12px 18px;border-radius:9px;cursor:pointer;font-weight:650;transition:transform .12s,background .12s}button:hover{transform:translateY(-1px)}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5c961a;outline-offset:3px}button:disabled{opacity:.5;cursor:default}nav button{background:white;color:#153144;border:1px solid #d3dfe6;font-size:14px}nav button.active{background:#b6f35b;border-color:#b6f35b}.gamehead{margin-top:32px}.tag{font-size:14px;color:#47647b;font-weight:650}h2{font-size:28px;margin:12px 0}#instruction{color:#4b6274;line-height:1.6}.board{padding:22px;border:2px dashed #a9bdcb;background:#e5edf2;min-height:125px;border-radius:15px;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}.bank{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.piece{background:white;color:#153144;border:1px solid #c1d2de;box-shadow:0 3px 0 #d5e1e9;text-align:left;line-height:1.55;font-weight:500;max-width:100%;padding:14px 18px}.piece.selected{background:#d8f5ad;border-color:#49711c}.piece.correct{background:#d8f5ad}.piece.wrong{background:#ffe0df;border-color:#c64040}.board .piece{background:#fff}.slot{display:inline-block;min-width:75px;padding:4px 8px;background:#dce8f0;color:#153144;border-bottom:2px solid #7894a8;margin:3px;font-weight:600}.passage{font-family:Georgia,serif;font-size:23px;line-height:1.9;background:white;border-radius:15px;padding:28px}.word{background:transparent;color:#153144;padding:3px 5px;font-family:inherit;font-size:inherit;font-weight:400;border-radius:4px}.word.selected{background:#ffe0df;color:#973b32}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.secondary{background:white;border:1px solid #b9cad5;color:#153144}#feedback{min-height:28px;font-weight:650;line-height:1.5}details{border-top:1px solid #ccdbe5;padding-top:20px}summary{cursor:pointer;font-weight:650}#full{font-family:Georgia,serif;line-height:1.9;padding:20px 0;white-space:pre-line}.pairgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.paircol{display:flex;flex-direction:column;gap:12px}.mini{font-size:14px;color:#526875;margin:15px 0}footer{text-align:center;color:#526875;padding:20px;font-size:14px}@media(max-width:900px){main{grid-template-columns:240px 1fr}.workspace{padding:28px 22px}aside{padding:30px 20px}aside h1{font-size:40px}.edition{display:none}}@media(max-width:650px){main{display:block}aside{padding:22px}aside h1{font-size:30px;margin:10px 0}aside h1 br{display:none}aside>p:not(.eyebrow),.source{display:none}label{margin-top:14px}header{padding:18px}.workspace{padding:25px 18px}.top{flex-direction:column;gap:8px}.pairgrid{gap:8px}.piece{padding:12px;font-size:15px}.passage{font-size:20px;padding:18px}h2{font-size:25px}}
input[type=number]{width:100%;font:inherit;padding:12px;border:1px solid #b9cad5;border-radius:8px;color:#153144;background:white}.slot.active{outline:3px solid #547d20;background:#e8f7d6}.slot.wrong{background:#ffe0df;border-color:#b44838}.reviewbar{display:flex;gap:10px;flex-wrap:wrap}.source{margin-top:25px}aside #available{color:#c7d8e3;font-size:14px}[hidden]{display:none!important}
.reviewbar{margin:18px 0}.orderboard{display:flex;flex-direction:column;gap:10px}.orderboard .piece{width:100%}.actions{position:sticky;bottom:0;background:#f0f4f7;padding:12px 0;margin-bottom:16px;border-top:1px solid #d3dfe6}#feedback{position:sticky;bottom:82px;background:#f0f4f7;padding:10px 0;z-index:1}.passage{font-size:21px}aside input:disabled{opacity:.6}

.partlabel{font-size:14px;line-height:1.6;color:#47647b;font-weight:650;padding:12px 0;border-bottom:1px solid #ccdbe5}

.app-tools{max-width:1450px;margin:auto;padding:14px 4%;display:flex;justify-content:flex-end;gap:16px;align-items:center;flex-wrap:wrap}.app-tools a{font-size:14px;color:#153144;font-weight:650}.install-help{max-width:1100px;margin:0 auto;padding:18px;line-height:1.6;background:white}.piece,.slot,button{min-height:44px}.slot{font-size:1rem}.bank .piece{overflow-wrap:anywhere}main,.workspace,aside{min-width:0}.actions{padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:2}#feedback{position:static}.orderboard .piece{font-weight:500}.passage{overflow-wrap:anywhere}@media(min-width:1600px){main{max-width:1450px}}@media(max-width:650px){.app-tools{padding:12px 18px;justify-content:flex-start;gap:10px}.app-tools button{font-size:14px}aside{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}aside>.eyebrow,aside>h1,aside>p,aside>label[for=article],aside>#article{grid-column:1/-1}aside>h1{font-size:26px}aside>label{margin:0;font-size:14px}aside>#theme{grid-column:1/-1}aside>label[for=count],aside>#count,aside>#available,aside>#apply{grid-column:1/-1}aside>#available{display:block!important;margin:0}aside>#apply{padding:8px}.workspace{padding:20px 14px}.passage{font-size:18px;line-height:1.85;padding:18px 14px}.actions{gap:6px}.actions button{padding:10px;font-size:14px;flex:1 1 30%}.bank{gap:8px}.bank .piece{padding:10px 12px}.orderboard .piece{font-size:16px}.partlabel{margin:8px 0}.top{margin-bottom:14px}}
