:root{color:#1d2329;background:#fbf8ef;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.appShell{min-height:100vh;display:grid;grid-template-columns:344px minmax(0,1fr);background:linear-gradient(90deg,#e8f8f4 0 344px,transparent 344px),#fbf8ef}.sidebar{height:100vh;padding:24px 18px;color:#173d3a;position:sticky;top:0;overflow:auto}.brand{display:flex;align-items:center;gap:13px;padding:4px 6px 22px}.brandMark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #b8ddd5;border-radius:8px;color:#2f8e83;background:#fffefa}.brand h1,.brand p,.topBar h2,.eyebrow,.sectionHeader h3,.sectionHeader p{margin:0}.brand h1{font-size:22px;letter-spacing:0}.brand p{margin-top:3px;color:#5f7773}.courseTabs,.trackTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.courseTabs button,.trackTabs button,.memberSwitch,.lessonItem,.resultList button{border-radius:8px}.courseTabs button,.trackTabs button{min-height:42px;border:1px solid #cfe7e1;background:#fffefad1;color:#51706c}.courseTabs button.active,.trackTabs button.active{background:#8ed9cb;border-color:#8ed9cb;color:#173d3a;font-weight:800}.courseTabs span{margin-left:5px;font-size:12px;color:inherit;opacity:.72}.searchBox{min-height:44px;display:none;align-items:center;gap:10px;padding:0 12px;border:1px solid #cfe7e1;border-radius:8px;background:#fffefadb;color:#5f7773;margin:16px 0 10px}.searchBox input{width:100%;border:0;outline:0;background:transparent;color:#173d3a}.searchBox input::placeholder{color:#8da29e}.memberSwitch{width:100%;min-height:42px;display:none;align-items:center;justify-content:center;gap:8px;border:1px solid #b8ddd5;background:#fffefadb;color:#2f8e83;margin-bottom:14px}.unitList,.lessonList,.unitGroup{display:grid;gap:6px}.unitToggle{min-height:40px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #cfe7e1;border-radius:8px;background:#fffefabd;color:#173d3a;text-align:left}.unitToggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unitToggle span{color:#2f8e83;font-size:12px}.lessonItem{min-height:46px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;background:transparent;color:#51706c;text-align:left}.lessonItem:hover{background:#fffefab8}.lessonItem.active{background:#fffefa;color:#173d3a;border-color:#8ed9cb}.lessonItem span{color:#2f8e83;font-size:13px;font-weight:800}.lessonItem.active span{color:#276f9f}.lessonItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.lessonItem em{padding:3px 6px;border-radius:999px;background:#e5f3fb;color:#276f9f;font-size:11px;font-style:normal}.lessonItem.active em{background:#e0f7f2;color:#2f8e83}.content{min-width:0;padding:30px clamp(22px,4vw,56px) 56px}.siteFooter{margin-top:28px;padding:18px 8px 4px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;color:#6f817e;font-size:13px}.siteFooter a{color:#4d7772;text-decoration:none}.siteFooter a:hover{color:#2f8e83;text-decoration:underline}.topBar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.eyebrow{color:#7c7064;font-size:14px;margin-bottom:7px}.topBar h2{font-size:clamp(28px,4vw,46px);line-height:1.06;color:#151c22;letter-spacing:0}.statusPill{max-width:430px;min-height:44px;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7;color:#4f5a5d}.studyHero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 0 10px;border-top:1px solid #ded8ca}.heroCopy{max-width:660px}.kicker,.sectionHeader span,.selfTestPanel span{display:inline-block;color:#a15d34;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.heroCopy h3{margin:0;color:#151c22;font-size:24px}.heroCopy p{margin:8px 0 0;color:#66706d;line-height:1.7}.quickStats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quickStats span{padding:8px 10px;border:1px solid #d8d0c1;border-radius:8px;background:#fffdf7;color:#394347}.lessonStack{display:grid;gap:16px}.partCard{--part-main: #8ed9cb;--part-soft: #e8f8f4;--part-ink: #173d3a;overflow:hidden;border:1px solid rgba(184,221,213,.86);border-radius:18px;background:#fffefae6;box-shadow:0 18px 48px #29625b1a;transform:translateY(0) scale(1);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;will-change:transform}.partCard:not(.open):hover{border-color:#8ed9cbfa;box-shadow:0 24px 58px #29625b29;transform:translateY(-4px) scale(1.006)}.partCard.mint{--part-main: #8ed9cb;--part-soft: #e8f8f4;--part-ink: #173d3a}.partCard.butter{--part-main: #ffe9a8;--part-soft: #fff8df;--part-ink: #5d4a11}.partCard.sky{--part-main: #bfe3fb;--part-soft: #eef8ff;--part-ink: #1d5577}.partCard.lavender{--part-main: #ddd5ff;--part-soft: #f5f2ff;--part-ink: #4d4276}.partCard.peach{--part-main: #ffd6c6;--part-soft: #fff3ed;--part-ink: #744533}.partSummary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;background:linear-gradient(90deg,var(--part-soft),rgba(255,254,250,.88)),#fffefa}.partIcon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.85);border-radius:16px;background:var(--part-main);color:var(--part-ink);box-shadow:0 10px 22px #29625b1a}.partCopy{min-width:0}.partCopy span{display:inline-block;margin-bottom:5px;color:var(--part-ink);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.partCopy h3{margin:0;color:#173d3a;font-size:clamp(20px,2.4vw,28px);line-height:1.15}.partCopy p{margin:7px 0 0;color:#5f7773;line-height:1.65}.partChips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.partChips em{--chip-bg: #e8f8f4;--chip-border: #b8ddd5;--chip-ink: #2f6f68;min-height:28px;display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--chip-border);border-radius:999px;background:var(--chip-bg);color:var(--chip-ink);font-size:12px;font-style:normal;font-weight:800;box-shadow:inset 0 1px #ffffffb8,0 5px 12px #29625b0d}.partChips em:nth-child(2){--chip-bg: #eef8ff;--chip-border: #b7d9ee;--chip-ink: #276f9f}.partChips em:nth-child(3){--chip-bg: #fff8df;--chip-border: #f1d98f;--chip-ink: #715915}.partChips em:nth-child(4){--chip-bg: #f5f2ff;--chip-border: #d7cef8;--chip-ink: #5a4a8a}.partChips em:nth-child(5){--chip-bg: #fff0ea;--chip-border: #f0c3b4;--chip-ink: #9a513a}.partAction{min-height:46px;display:inline-flex;align-items:center;gap:7px;padding:0 18px;border:0;border-radius:999px;background:#173d3a;color:#fffefa;font-weight:900;box-shadow:0 12px 26px #173d3a29;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.partCard:not(.open):hover .partAction{background:#20534f;box-shadow:0 15px 30px #173d3a33;transform:translateY(-1px)}.partAction svg{transition:transform .18s}.partCard.open .partAction svg{transform:rotate(90deg)}.partContent{padding:18px;border-top:1px solid rgba(184,221,213,.62);background:#fffefab8}.posterStage{display:grid;gap:10px}.posterFrame{position:relative;width:min(100%,1120px);min-height:360px;overflow:hidden;border:1px solid #d2c8b8;border-radius:8px;background:#fffdf7;box-shadow:0 24px 70px #161b1f24}.posterFrame img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain;background:#fffdf7}.hotspot{position:absolute;display:grid;place-items:center;border:2px solid transparent;border-radius:8px;background:#e7c9780a;color:transparent;transition:background .18s,border-color .18s,color .18s,box-shadow .18s}.hotspot:hover,.hotspot.active{color:#fffdf7;border-color:#b85d42;background:#b85d4238;box-shadow:0 0 0 3px #b85d421f}.emptyWords,.emptyPanel{padding:14px 16px;border:1px dashed #cabda8;border-radius:8px;color:#766a5e;background:#fffaf0}.sectionBlock{display:grid;gap:14px;padding-top:8px}.sectionHeader{display:flex;align-items:center;gap:13px}.sectionIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#151c22;color:#e7c978;flex:0 0 auto}.sectionHeader h3{color:#151c22;font-size:22px}.sectionHeader p{margin-top:4px;color:#66706d}.tipsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.tipCard{min-height:142px;padding:16px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7}.tipHead{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;align-items:center}.tipHead button{width:34px;height:34px;grid-row:span 2;display:grid;place-items:center;border:0;border-radius:8px;color:#fffdf7;background:#b85d42}.tipHead strong{color:#151c22;font-size:18px}.tipHead span{color:#8a7664;font-size:13px}.methodTag{width:fit-content;margin-top:12px;padding:5px 8px;border-radius:999px;background:#a15d341a;color:#a15d34;font-size:12px;font-weight:800}.tipCard p{margin:12px 0 0;color:#4e595b;line-height:1.72}.selfTestLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.selfTestPanel,.lockedState{border:1px solid #ded8ca;border-radius:8px;background:#fffdf7}.selfTestPanel{padding:20px}.selfTestPanel h4{margin:0;color:#151c22;font-size:22px}.selfTestPanel p{margin:10px 0 0;color:#5f696b;line-height:1.75}.lockedState{min-height:460px;display:grid;place-items:center;align-content:center;gap:12px;padding:28px;text-align:center}.lockedState h3,.lockedState p{margin:0}.lockedState p{max-width:460px;color:#66706d;line-height:1.7}@media(max-width:1020px){.appShell{grid-template-columns:1fr;background:#f4f2ec}.sidebar{position:static;height:auto;background:#111820}.lessonList{max-height:320px;overflow:auto}.topBar,.studyHero,.selfTestLayout{display:grid;grid-template-columns:1fr}.quickStats{justify-content:flex-start}}@media(max-width:560px){.sidebar,.content{padding:18px}.courseTabs,.trackTabs{grid-template-columns:1fr}.statusPill{max-width:none}.posterFrame{border-radius:8px}}.adminShell{min-height:100vh;display:grid;grid-template-columns:360px minmax(0,1fr);background:#f4f2ec}.adminPanel{height:100vh;position:sticky;top:0;overflow:auto;padding:22px 18px;background:#111820;color:#f7f3e8}.adminBrand{display:flex;gap:12px;align-items:center;margin-bottom:20px}.adminBrand svg{color:#e7c978}.adminBrand h1,.adminBrand p,.adminTop h2,.adminTop p{margin:0}.adminBrand h1{font-size:22px}.adminBrand p{color:#9da9ad;margin-top:3px}.adminField{display:grid;gap:8px;margin-bottom:14px}.adminField span{color:#e7c978;font-weight:800}.adminField select{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f7f3e8;background:#19232b;padding:0 10px}.adminWords{display:grid;gap:7px}.adminWords button{display:grid;gap:4px;padding:10px;border:1px solid transparent;border-radius:8px;background:#ffffff0a;color:#c8d0d2;text-align:left}.adminWords button.active{background:#f7f3e8;color:#151c22}.adminWords span{color:#8f9ba0;font-size:12px}.adminWords button.active span{color:#7c7064}.adminWorkspace{min-width:0;padding:28px clamp(20px,4vw,48px) 48px}.adminTop{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.adminTop p{color:#7c7064;margin-bottom:6px}.adminTop h2{color:#151c22;font-size:clamp(26px,3.6vw,42px)}.adminActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.adminActions button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #d4c9b7;border-radius:8px;background:#fffdf7;color:#394347}.adminActions button.primary{border-color:#151c22;background:#151c22;color:#fffdf7}.adminNotice{padding:12px 14px;border:1px solid #d8d0c1;border-radius:8px;background:#fffdf7;color:#5f696b;margin-bottom:16px}.calibrationFrame{position:relative;width:min(100%,1120px);border:1px solid #d2c8b8;border-radius:8px;overflow:hidden;background:#fffdf7;box-shadow:0 24px 70px #161b1f24;touch-action:none;-webkit-user-select:none;user-select:none}.calibrationFrame img{display:block;width:100%;height:auto;pointer-events:none}.calibrationBox{position:absolute;min-width:42px;min-height:28px;border:2px dashed rgba(184,93,66,.82);border-radius:8px;background:#b85d421f;box-shadow:0 0 0 3px #b85d4214}.calibrationBox.active{border-color:#e7c978;border-style:solid;background:#e7c9782e;box-shadow:0 0 0 4px #e7c97829}.calibrationBox span{position:absolute;left:0;top:-24px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border-radius:999px;background:#151c22;color:#fffdf7;font-size:12px;pointer-events:none}.resizeHandle{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;border:2px solid #fffdf7;border-radius:999px;background:#b85d42}.adminEmpty{padding:40px;color:#394347}.contentEditor{display:grid;grid-template-columns:minmax(320px,560px) minmax(280px,420px);gap:16px;align-items:start}.editorCard{display:grid;gap:14px;padding:18px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7}.editorCard label{display:grid;gap:7px}.editorCard label span{color:#7c7064;font-weight:800}.editorCard input,.editorCard select,.editorCard textarea{width:100%;border:1px solid #d4c9b7;border-radius:8px;background:#fff;color:#151c22;padding:10px 11px}.editorCard textarea{min-height:104px;resize:vertical;line-height:1.65}.previewTip{position:sticky;top:24px}@media(max-width:1020px){.adminShell{grid-template-columns:1fr}.adminPanel{position:static;height:auto}.adminTop{display:grid}.adminActions{justify-content:flex-start}.contentEditor{grid-template-columns:1fr}.previewTip{position:static}}.appShell{background:linear-gradient(90deg,#eaf6f2 0 344px,transparent 344px),#f7f4ec}.sidebar{color:#233238}.brandMark{border-color:#b8ddd5;color:#2f8e83;background:#f8fffc}.brand p,.eyebrow,.heroCopy p,.sectionHeader p,.selfTestPanel p{color:#5f7773}.courseTabs button,.trackTabs button,.memberSwitch,.searchBox,.unitToggle{border-color:#cfe7e1;background:#ffffffa8;color:#51706c}.searchBox input{color:#233238}.courseTabs button.active,.trackTabs button.active{border-color:#8ed9cb;background:#8ed9cb;color:#173d3a}.memberSwitch,.unitToggle span,.lessonItem span{color:#2f8e83}.lessonItem{color:#51706c}.lessonItem:hover{background:#ffffffb8}.lessonItem.active{border-color:#9fded3;background:#fffefa;color:#173d3a}.lessonItem.active span,.kicker,.sectionHeader span,.selfTestPanel span{color:#347fbb}.lessonItem em{background:#8ed9cb33;color:#2f8e83}.lessonItem.active em{background:#84bee72e;color:#347fbb}.topBar h2,.heroCopy h3,.sectionHeader h3,.selfTestPanel h4{color:#173d3a}.statusPill,.quickStats span,.selfTestPanel,.lockedState,.tipCard,.editorCard,.adminNotice{border-color:#cfe7e1;background:#fffefa}.studyHero{border-top-color:#d8e8e3}.posterFrame,.calibrationFrame{border-color:#cfe7e1;background:#fffefa;box-shadow:0 24px 70px #29625b21}.posterFrame img{background:#fffefa}.hotspot{background:#8ed9cb14}.hotspot:hover,.hotspot.active{color:#f8fffc;border-color:#38a99b;background:#38a99b40;box-shadow:0 0 0 3px #38a99b24}.sectionIcon{background:#dff4ef;color:#2f8e83}.emptyWords,.emptyPanel{border-color:#b8ddd5;color:#5f7773;background:#f8fffc}.vocabPanel{display:grid;gap:12px}.vocabToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.vocabTools{display:flex;gap:8px;flex-wrap:wrap}.vocabTools button{--tool-bg: #fff8df;--tool-border: #f1d98f;--tool-ink: #715915;min-height:36px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tool-border);border-radius:999px;background:var(--tool-bg);color:var(--tool-ink);padding:0 12px;font-weight:800;box-shadow:0 7px 16px #29625b0f;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.vocabTools button:nth-child(2){--tool-bg: #e5f3fb;--tool-border: #b7d9ee;--tool-ink: #276f9f}.vocabTools button:hover,.filterTabs button:hover,.markGroup button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #29625b1a}.vocabTools button.active{filter:saturate(1.08);box-shadow:inset 0 0 0 1px #ffffffad,0 9px 18px #29625b1a}.dictationToggle{display:inline-grid;grid-template-columns:auto 48px;align-items:center;gap:10px;color:#173d3a;font-weight:800}.dictationToggle input{position:absolute;opacity:0;pointer-events:none}.dictationToggle i{position:relative;width:48px;height:28px;border-radius:999px;background:#d7e5e1;box-shadow:inset 0 0 0 1px #c3d8d2}.dictationToggle i:after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 3px 10px #24444029;transition:transform .18s}.dictationToggle input:checked+i{background:#8ed9cb}.dictationToggle input:checked+i:after{transform:translate(20px)}.filterTabs{display:flex;gap:8px;flex-wrap:wrap}.filterTabs button,.markGroup button{--tab-bg: #e8f8f4;--tab-border: #b8ddd5;--tab-ink: #2f6f68;min-height:36px;border:1px solid var(--tab-border);border-radius:999px;background:var(--tab-bg);color:var(--tab-ink);padding:0 12px;box-shadow:0 7px 16px #29625b0d;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.filterTabs button:nth-child(2){--tab-bg: #f5f2ff;--tab-border: #d7cef8;--tab-ink: #5a4a8a}.filterTabs button:nth-child(3){--tab-bg: #fff0ea;--tab-border: #f0c3b4;--tab-ink: #9a513a}.filterTabs button.active{filter:saturate(1.14);font-weight:800;box-shadow:inset 0 0 0 1px #ffffffb3,0 9px 18px #29625b1f}.vocabTableWrap{overflow:auto;border:1px solid #cfe7e1;border-radius:8px;background:#fffefa;box-shadow:0 18px 45px #29625b1a}.vocabTable{width:100%;min-width:780px;border-collapse:collapse}.vocabTable th,.vocabTable td{padding:14px 16px;border-bottom:1px solid #edf3f0;text-align:left;vertical-align:middle}.vocabTable th{color:#48635f;background:#eaf6f2;font-weight:900}.vocabTable tr:nth-child(2n) td{background:#f8fbf7}.vocabTable tr.correct td{background:#edf9f3}.vocabTable strong{color:#173d3a;font-size:17px}.meaningList{display:grid;gap:5px;min-width:220px;color:#2f4845;line-height:1.55}.meaningList span{display:block}.meaningMask{min-width:112px;min-height:34px;border:1px dashed #a9d7ce;border-radius:8px;background:repeating-linear-gradient(135deg,#f2fbf8 0 8px,#e3f5f1 8px 16px);color:#2f8e83;font-size:13px;font-weight:900}.dictationInput{min-width:180px;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:8px;padding:0 10px;border:1px solid #d7e5e1;border-radius:8px;background:#fff}.dictationInput.correct{border-color:#8ed9cb;background:#eafaf4;color:#2f8e83}.dictationInput input{min-width:0;border:0;outline:0;background:transparent;color:#173d3a}.audioButton{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;color:#276f9f;background:#e5f3fb}.collocationList{display:flex;gap:6px;flex-wrap:wrap}.collocationList span{padding:4px 7px;border-radius:8px;background:#eef8f5;color:#2f6f68;font-size:12px;font-weight:700;line-height:1.45}.emptyCollocation{color:#95a7a3}.markGroup{display:flex;gap:7px;flex-wrap:wrap}.markGroup button.active.fuzzy{border-color:#e6cc83;background:#fff5cf;color:#8a6a10;font-weight:800}.markGroup button.active.unknown{border-color:#f0b7b7;background:#fff0f0;color:#a34848;font-weight:800}.analysisGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.analysisCard{--analysis-bg: #fffdfa;--analysis-border: #eadfd2;--analysis-chip: #dff7f2;--analysis-ink: #173d3a;display:grid;gap:14px;padding:18px;border:1px solid var(--analysis-border);border-radius:14px;background:linear-gradient(145deg,var(--analysis-bg),rgba(255,254,250,.92)),#fffefa;box-shadow:0 14px 34px #29625b14;transition:transform .18s ease,box-shadow .18s ease}.analysisCard:hover{transform:translateY(-3px);box-shadow:0 20px 42px #29625b21}.analysisCard:nth-child(5n+1){--analysis-bg: #f0fbf8;--analysis-border: #b8ddd5;--analysis-chip: #dff7f2;--analysis-ink: #2f6f68}.analysisCard:nth-child(5n+2){--analysis-bg: #fff8df;--analysis-border: #f1d98f;--analysis-chip: #ffedb8;--analysis-ink: #715915}.analysisCard:nth-child(5n+3){--analysis-bg: #eef8ff;--analysis-border: #b7d9ee;--analysis-chip: #dff0fb;--analysis-ink: #276f9f}.analysisCard:nth-child(5n+4){--analysis-bg: #f5f2ff;--analysis-border: #d7cef8;--analysis-chip: #e8e1ff;--analysis-ink: #5a4a8a}.analysisCard:nth-child(5n){--analysis-bg: #fff0ea;--analysis-border: #f0c3b4;--analysis-chip: #ffdccc;--analysis-ink: #9a513a}.analysisHead{display:grid;gap:5px}.analysisHead span{width:fit-content;padding:4px 8px;border-radius:999px;background:var(--analysis-chip);color:var(--analysis-ink);font-size:12px;font-weight:900}.analysisHead h4{margin:0;color:var(--analysis-ink);font-size:24px;line-height:1.1}.analysisHead em{color:#5f7773;font-style:normal;font-weight:800}.analysisRows{display:grid;gap:8px}.analysisRows section{--row-bg: #fff1f5;--row-border: #f1c2d1;--row-ink: #a04f68;display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-radius:8px;border:1px solid var(--row-border);background:var(--row-bg);box-shadow:inset 0 1px #ffffffb8}.analysisRows section:nth-child(2){--row-bg: #fff8df;--row-border: #f1d98f;--row-ink: #715915}.analysisRows section:nth-child(3){--row-bg: #e8f8f4;--row-border: #b8ddd5;--row-ink: #2f6f68}.analysisRows section:nth-child(4){--row-bg: #f5f2ff;--row-border: #d7cef8;--row-ink: #5a4a8a}.analysisRows strong{color:var(--row-ink);font-size:13px;line-height:1.5}.analysisRows p{display:grid;gap:6px;margin:0;color:#4f6967;line-height:1.62}.analysisRows b{color:var(--row-ink);font-weight:800}.analysisRows small{color:#5f7773;font-size:13px;line-height:1.6}.analysisRows p span{display:block}.analysisTakeaway{padding:11px 12px;border:1px solid #f0c3b4;border-left:4px solid #f0a98d;border-radius:8px;background:#fff0ea;color:#9a513a;font-weight:800}.matchPanel{display:grid;gap:12px}.matchStatus{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.matchStatus strong{color:#173d3a;font-size:18px}.matchMetrics{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.matchMetrics span,.matchMetrics button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:0;border-radius:999px;font-size:14px}.matchMetrics span{background:#e5f3fb;color:#276f9f;font-weight:800}.matchMetrics button{background:#fffefa;border:1px solid #cfe7e1;color:#2f8e83}.matchBoard{position:relative;min-height:clamp(230px,calc(var(--ball-count) * 16px),310px);overflow:hidden;border:1px solid #cfe7e1;border-radius:8px;background:radial-gradient(circle at 18% 20%,rgba(142,217,203,.22),transparent 26%),radial-gradient(circle at 82% 74%,rgba(132,190,231,.2),transparent 28%),#fffefa}.wordBall{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);min-width:78px;max-width:146px;min-height:42px;padding:8px 11px;border:1px solid var(--ball-border);border-radius:999px;color:var(--ball-text);background:var(--ball-bg);font-size:13px;line-height:1.25;box-shadow:0 12px 28px #29625b21;transition:transform .16s,opacity .18s,box-shadow .16s}.matchStart{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;text-align:center}.matchStart button{min-width:156px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:#8ed9cb;color:#173d3a;font-weight:900;box-shadow:0 16px 32px #29625b29}.matchStart span{color:#5f7773}.wordBall.selected{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 5px #e6cc8347,0 16px 32px #29625b29}.wordBall.matched{opacity:0;transform:translate(-50%,-50%) scale(.72);pointer-events:none}.matchComplete{position:absolute;right:18px;bottom:18px;display:grid;gap:4px;padding:10px 12px;border:1px solid #b8ddd5;border-radius:8px;background:#f8fffcf0;color:#173d3a;box-shadow:0 14px 34px #29625b24}.matchComplete strong{font-size:16px}.matchComplete span{color:#2f8e83;font-weight:800}@media(max-width:1020px){.appShell{background:#f7f4ec}.sidebar{background:#eaf6f2}}@media(max-width:560px){.vocabToolbar,.matchStatus{align-items:stretch}.partSummary{grid-template-columns:46px minmax(0,1fr)}.partIcon{width:46px;height:46px;border-radius:14px}.partAction{grid-column:1 / -1;justify-content:center}.matchMetrics{justify-content:flex-start}.filterTabs,.vocabTools,.markGroup{width:100%}.matchBoard{min-height:320px}}.sidebarToggle{width:42px;height:42px;display:grid;place-items:center;margin:0 0 14px auto;border:1px solid #cfe7e1;border-radius:8px;background:#fffefa;color:#2f8e83;box-shadow:0 8px 20px #29625b14}.sidebarCollapsed{grid-template-columns:76px minmax(0,1fr);background:linear-gradient(90deg,#eaf6f2 0 76px,transparent 76px),#f7f4ec}.sidebarCollapsed .sidebar{padding:18px 12px;overflow:hidden}.sidebarCollapsed .sidebarToggle{margin:0 auto 18px}.sidebarCollapsed .brand{justify-content:center;padding:0}.sidebarCollapsed .brandMark{width:46px;height:46px}.sidebarCollapsed .brand h1,.sidebarCollapsed .brand p,.sidebarCollapsed .courseTabs,.sidebarCollapsed .trackTabs,.sidebarCollapsed .searchBox,.sidebarCollapsed .memberSwitch,.sidebarCollapsed .unitList{display:none}@media(max-width:1020px){.sidebarCollapsed{grid-template-columns:1fr;background:#f7f4ec}.sidebarCollapsed .sidebar{height:auto;min-height:80px}}
