.practice-section{margin:21px 0 0;padding:26px;border:1px solid #8d688766;border-radius:6px;background:linear-gradient(#13131ff5,#13131ff5),url('assets/ai-panel.webp') center/cover;scroll-margin-top:82px}
.practice-summary{font-size:17px;color:#ffe0b8;line-height:1.8}.practice-intro{font-size:14px;line-height:1.9;color:#d9c7d7}.practice-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.practice-toolbar label{font-size:14px}.practice-section select{background:#141d2c!important;border:1px solid #a38c9f!important;color:#f6e7f2!important;border-radius:4px;padding:11px 14px;font-size:15px}
.practice-section button,.practice-save-actions button{background:linear-gradient(#202a3bee,#202a3bee),url('assets/ai-secondary.webp') center/145% 190%;border:1px solid #a98a9f;border-radius:4px;color:#f6e6ee;font:14px 'Microsoft YaHei',sans-serif;line-height:1.6;min-height:44px;padding:10px 16px;cursor:pointer}.practice-section button:disabled,.practice-save-actions button:disabled{opacity:.45;cursor:default}.practice-section button:hover:not(:disabled),.practice-save-actions button:hover:not(:disabled){border-color:#f6bdd5}
.practice-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:26px;align-items:start}#practice-list{display:grid;gap:10px;max-height:710px;overflow:auto;scrollbar-width:thin}.practice-section .practice-item{text-align:left;padding:14px;min-width:0}.practice-item strong{display:block;font-size:15px}.practice-item small{display:block;margin-top:7px;font-size:12px;color:#cebacb}.practice-section .practice-item.chosen{border-color:#f3bdcf;background:linear-gradient(#58304af0,#58304af0),url('assets/ai-button.webp') center/cover}
#practice-title{font:700 27px/1.6 'KaiTi','SimSun',serif;margin:0 0 8px;color:#ffe0b8}#practice-source{font-size:12px;line-height:1.8;color:#bdaabc;margin:0 0 16px}#practice-detail{min-width:0;scroll-margin-top:90px}.practice-exercise{display:grid;grid-template-columns:minmax(240px,1fr) minmax(230px,.9fr);gap:24px}.practice-exercise>div{min-width:0}.practice-exercise label{display:inline-block;font-size:13px;margin:15px 10px 0 0}
#practice-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;max-width:570px;aspect-ratio:1;border:5px solid #b6a0aa;box-shadow:0 0 0 1px #2c1a30;touch-action:manipulation}
.practice-section #practice-board .practice-square{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;min-height:0;border:0;border-radius:0;padding:0;background:#4b5663;box-shadow:none;line-height:1;cursor:pointer;filter:none}.practice-section #practice-board .practice-square.dark{background:#202a35}.practice-section #practice-board .practice-square.selected{box-shadow:inset 0 0 0 3px #ffe1a4;background:#725d49}.practice-section #practice-board .practice-square.last{box-shadow:inset 0 0 0 3px #e3bd94;background:#675261}.practice-section #practice-board .practice-square:focus-visible{outline:3px solid #ffdfaa;outline-offset:-3px;z-index:3}.practice-square .unit-art{width:95%;height:95%}.practice-rank,.practice-file{position:absolute;font:10px 'Consolas',monospace;color:#f8ebdf;pointer-events:none;text-shadow:0 1px 2px #000}.practice-rank{top:3px;left:3px}.practice-file{right:3px;bottom:2px}
.practice-coach{padding:19px;border:1px solid #98738d66;border-radius:5px;background:#141d2beb;align-self:start}.practice-coach p,.practice-coach li{font-size:15px;line-height:1.95;color:#e9dce6}.practice-coach #practice-feedback{color:#ffe1b8;margin-top:0;font-weight:600}.practice-actions,.practice-save-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.practice-actions button{flex:1;min-width:100px}.practice-coach #practice-hint-text{color:#f0c4dc;font-size:14px}.practice-coach h4{font-size:18px;color:#ffe0b8}.practice-coach ol{padding-left:23px}.practice-coach li{padding-bottom:9px}.practice-coach .review-caveat{font-size:12px;color:#bdacbf}#practice-message,#review-practice-message{font-size:13px;line-height:1.9;color:#eed0ab;overflow-wrap:anywhere}.practice-empty{font-size:16px;line-height:1.9;padding:24px;border:1px dashed #9a7d9377;background:#151e2b;color:#dac9d9}
.practice-manage{border-top:1px solid #9a7d9344;padding-top:12px}.practice-manage button{font-size:12px;min-height:36px;padding:7px 12px;color:#cebaca}
@media(max-width:1150px){.practice-exercise{grid-template-columns:1fr}.practice-exercise>div:first-child{max-width:570px}.practice-layout{grid-template-columns:210px minmax(0,1fr)}.app-nav button{min-width:58px;padding:10px 12px}.app-nav{gap:5px}}
@media(max-width:700px){.app-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.app-nav button{min-width:0;padding:9px 4px;font-size:13px}.practice-section{padding:21px 15px;scroll-margin-top:128px}.practice-layout{grid-template-columns:1fr;gap:20px}#practice-list{grid-template-columns:1fr 1fr;max-height:180px;gap:8px}.practice-section .practice-item{padding:10px}.practice-item strong{font-size:13px}.practice-item small{font-size:11px}.practice-exercise{gap:18px}.practice-coach{padding:16px}.practice-toolbar{gap:8px}.practice-section .review-heading h2{font-size:25px}#practice-detail{scroll-margin-top:128px}.practice-square .unit-badge{font-size:8px}}
