*,:before,:after{box-sizing:border-box}#app{min-height:100vh}:root{--ink:#17221f;--muted:#68746f;--paper:#f5f3ed;--card:#fffefb;--line:#dddeda;--green:#174f40;--green-bright:#d9eee4;--mint:#d9ebe3;--lime:#dce89f;--gold:#b98643;--shadow:0 20px 55px #1a372e14;--el-color-primary:#174f40;--el-color-primary-light-3:#4d8572;--el-color-primary-light-5:#76a898;--el-color-primary-light-7:#a0c9bd;--el-color-primary-light-8:#b8d8cf;--el-color-primary-light-9:#d9eee4;--el-color-primary-dark-2:#123830;--page-max-width:1500px;--page-gutter:24px;--page-bg:linear-gradient(130deg, #f4f2eb 0%, #f8f7f2 52%, #eff5f0 100%);--font-sans:"DM Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-display:"Playfair Display", "Noto Sans SC", Georgia, "PingFang SC", "Microsoft YaHei", serif}html,body{background:var(--page-bg)}body{color:var(--ink);font-family:var(--font-sans);margin:0;overflow-x:hidden}button{font:inherit}.rp-main{max-width:var(--page-max-width);width:100%;padding:32px var(--page-gutter) 80px;min-width:0;margin:0 auto;overflow-x:hidden}.eyebrow{color:var(--green);letter-spacing:.14em;margin:0 0 12px;font-size:11px;font-weight:700}.section-kicker,.tool-index,.card-kicker{color:var(--green);letter-spacing:.12em;font-size:10px;font-weight:700}.section-title,.landing-hero h1,.hub-hero h2,.membership-hero h2{font-family:var(--font-display);letter-spacing:-.035em}.section-desc{color:var(--muted);margin:0;line-height:1.7}:is(html:has(.landing-view),body:has(.landing-view)){height:100%;overflow:hidden}.home-page:has(.landing-view){height:calc(100vh - var(--topbar-height,72px));max-height:calc(100vh - var(--topbar-height,72px));overflow:hidden}.rp-main:has(.landing-view){box-sizing:border-box;flex-direction:column;height:100%;min-height:0;max-height:100%;padding-top:32px;padding-bottom:32px;display:flex;overflow:hidden}.landing-view{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.landing-hero{box-sizing:border-box;background:var(--green);color:#fff;width:100%;height:232px;min-height:232px;box-shadow:var(--shadow);border-radius:18px;flex:none;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:20px;margin-bottom:0;padding:20px 28px;display:grid;overflow:hidden}.landing-hero>div:first-child{flex-direction:column;justify-content:center;min-width:0;min-height:0;display:flex}.landing-hero .eyebrow{color:var(--lime);margin:0 0 6px}.landing-hero h1{margin:0 0 8px;font-size:clamp(26px,3.2vw,42px);font-weight:600;line-height:1.08}.landing-hero h1 em{color:var(--lime);font-style:normal}.landing-hero>div:first-child>.section-desc{color:#ffffffad;max-width:620px;margin:0;font-size:13px;line-height:1.45}.landing-proof{box-sizing:border-box;background:#ffffff14;border:1px solid #fff3;border-radius:12px;align-self:center;width:100%;min-width:0;max-height:100%;padding:12px 14px}.landing-proof>span{letter-spacing:.13em;opacity:.65;margin:0;font-size:10px;font-weight:700;display:block}.landing-proof ol{gap:5px;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-proof li{background:#ffffff14;border-radius:7px;grid-template-columns:26px minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;padding:6px 9px;display:grid}.landing-proof li>div{min-width:0}.landing-proof b{color:var(--lime);font-size:10px;line-height:1}.landing-proof strong{min-width:0;font-size:13px;line-height:1.25;display:block}.landing-proof small{color:#ffffff8c;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-top:1px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.landing-value{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex}.landing-view .section-heading{flex:none;gap:16px;margin-bottom:10px}.landing-view .section-heading h2{font-size:clamp(22px,2.6vw,32px)}.landing-view .section-heading>.section-desc{font-size:13px;line-height:1.5}.landing-view .toolkit-grid{flex:none;align-content:start;gap:12px;min-height:0}.landing-view .tool-card{height:auto;min-height:210px;padding:22px}.landing-view .tool-card>strong{margin-top:30px;font-size:22px}.landing-view .tool-card>small{-webkit-line-clamp:unset;margin-top:10px;font-size:13px;line-height:1.6;display:block;overflow:visible}.landing-view .tool-card>b{padding-top:20px}.section-heading{grid-template-columns:1fr .75fr;align-items:end;gap:30px;margin-bottom:18px;display:grid}.section-heading h2{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.08}.section-heading>.section-desc{font-size:14px}.toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;display:grid}.tool-card{background:var(--card);min-height:190px;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #174f4024;border-radius:10px;flex-direction:column;align-items:flex-start;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.tool-card:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-3px)}.tool-card.is-unavailable,.tool-card.is-unavailable:hover{box-shadow:none;color:#8a938c;cursor:not-allowed;background:#eef1ef;border-color:#174f401a;transform:none}.tool-card.is-unavailable>small,.tool-card.is-unavailable>b,.tool-card.is-unavailable>.tool-index{color:#9aa39d}.tool-card.featured{background:var(--green-bright)}.tool-card>strong{font-family:var(--font-display);margin-top:30px;font-size:22px}.tool-card>small{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.55}.tool-card>b{color:var(--green);margin-top:auto;padding-top:18px;font-size:12px}.hub-view,.membership-view{min-width:0;padding-bottom:46px;overflow-x:hidden}.hub-catalog-status{color:var(--muted);text-align:center;margin:0;padding:28px 12px;font-size:14px}.hub-catalog-status.is-error{color:#b45309}.hub-hero{background:var(--green);color:#fff;box-shadow:var(--shadow);border-radius:18px;margin-bottom:18px;padding:42px}.hub-view>.hub-hero:not(.compact-hero){box-sizing:border-box;flex-direction:column;justify-content:center;width:100%;height:232px;min-height:232px;display:flex}.hub-hero .eyebrow{color:var(--lime)}.hub-hero h2{letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(44px,6vw,64px)}.hub-hero .section-desc{color:#ffffffad;max-width:min(1100px,100%);font-size:14px;line-height:1.7}.hub-grid,.media-category-grid,.workshop-grid{gap:12px;display:grid}.learning-hub-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));align-items:stretch}.learning-hub-grid .hub-card-daily{grid-area:1/1/4;min-height:432px;padding:28px}.learning-hub-grid .hub-card-daily strong{margin-top:36px;font-size:clamp(28px,2.6vw,36px)}.learning-hub-grid .hub-card-daily small{max-width:28ch;font-size:14px}.learning-hub-grid .hub-card-pronunciation-test{grid-area:1/2}.learning-hub-grid .hub-card-pronunciation-course{grid-area:1/3}.learning-hub-grid .hub-card-oral-test{grid-area:2/2}.learning-hub-grid .hub-card-oral-course{grid-area:2/3}.learning-hub-grid .hub-card-shadowing-course{grid-area:3/2/auto/4}.learning-hub-grid .hub-card:not(.hub-card-daily){min-height:210px}.logistics-hub-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));align-items:stretch}.logistics-hub-grid .hub-card-system-messages{grid-area:1/1/3;min-height:432px;padding:28px}.logistics-hub-grid .hub-card-system-messages strong{margin-top:36px;font-size:clamp(28px,2.6vw,36px)}.logistics-hub-grid .hub-card-system-messages small{max-width:28ch;font-size:14px}.logistics-hub-grid .hub-card-feedback{grid-area:1/2}.logistics-hub-grid .hub-card-resources{grid-area:1/3}.logistics-hub-grid .hub-card-game-space{grid-area:2/2/auto/4}.logistics-hub-grid .hub-card:not(.hub-card-system-messages){min-height:210px}.system-messages-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:22px}.system-messages-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.system-message-trigger{grid-template-columns:minmax(0,1fr) 120px 28px;align-items:center;gap:12px;display:grid}.system-messages-list{display:grid}.system-message-item{border-bottom:1px solid var(--line);background:#fff}.system-message-item:last-child{border-bottom:0}.system-message-trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:16px;transition:background-color .2s}.system-message-trigger:hover{background:#d9eee42e}.system-message-main{min-width:0}.system-message-main strong{font-size:15px;line-height:1.4;display:block}.system-message-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:13px;line-height:1.5;display:block;overflow:hidden}.system-message-item.expanded .system-message-main small{white-space:normal}.system-message-time{color:var(--muted);white-space:nowrap;font-size:12px}.system-message-expand{color:var(--green);text-align:center;font-size:18px;font-weight:700;line-height:1}.system-message-body{border-top:1px dashed #174f401f;padding:0 16px 18px}.system-message-text p{color:var(--ink);margin:0 0 12px;font-size:14px;line-height:1.75}.system-message-text p:last-child{margin-bottom:0}.system-message-media-block{margin-top:16px}.system-message-media-bar{align-items:stretch;gap:12px;min-width:0;display:flex}.system-message-media-bar .system-message-media-image{flex:auto;min-width:0;max-width:min(100%,420px);min-height:160px}.system-message-media-actions{flex-direction:column;flex:none;gap:10px;min-width:148px;display:flex}.system-message-media-action{background:var(--card);min-height:72px;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #174f4024;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:flex-start;gap:6px;padding:14px 16px;transition:border-color .2s,background-color .2s,transform .2s;display:flex;box-shadow:0 12px 38px #1a372e0a}.system-message-media-action:hover,.system-message-media-action.is-active{border-color:var(--green);background:var(--green-bright)}.system-message-media-action span{color:var(--green);font-size:14px;font-weight:700}.system-message-media-action small{color:var(--muted);font-size:12px;line-height:1.5}.system-message-media-player{border:1px solid var(--line);background:#faf9f5;border-radius:10px;margin-top:12px;overflow:hidden}.system-message-media{border:1px solid var(--line);background:#faf9f5;border-radius:10px;overflow:hidden}.system-message-media-image img{object-fit:cover;width:100%;height:100%;min-height:160px;max-height:240px;display:block}.system-message-media-image figcaption,.system-message-media-label{border-top:1px solid var(--line);color:var(--muted);padding:10px 14px;font-size:12px;line-height:1.5;display:block}.system-message-media-audio audio,.system-message-media-video video,.system-message-media-player audio,.system-message-media-player video{width:100%;display:block}.system-message-media-audio audio,.system-message-media-player audio{box-sizing:border-box;padding:10px 14px 14px}.system-message-media-video video,.system-message-media-player video{background:#000;max-height:280px}.system-message-footnote{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.6}.system-messages-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:28px 18px;font-size:13px;line-height:1.6}.system-messages-retry{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:999px;margin-top:12px;padding:8px 14px;font-size:13px}.system-messages-retry:hover{background:var(--green-bright)}.system-messages-pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.system-messages-pagination button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px}.system-messages-pagination button:disabled{opacity:.45;cursor:not-allowed}.system-messages-pagination span{color:var(--muted);font-size:13px}.system-message-media-state{color:var(--muted);padding:18px 14px;font-size:13px;line-height:1.6}.system-message-media-state.is-error{color:#b54747}.media-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(210px,auto);align-items:stretch}.workshop-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;min-width:0;margin-bottom:8px}.hub-card,.media-category-card,.workshop-card{background:var(--card);height:100%;min-height:210px;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #174f4024;border-radius:12px;flex-direction:column;align-items:flex-start;padding:22px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 12px 38px #1a372e0a}.workshop-card{min-height:0;padding:16px 18px}.hub-card:hover,.media-category-card:hover,.workshop-card:hover{border-color:var(--green);transform:translateY(-2px)}.hub-card.featured,.media-category-card.featured,.tool-card.featured,.workshop-card.featured{background:var(--green-bright)}.hub-card.profile-entry{background:#edf3ef}.hub-card span,.media-category-card span,.workshop-card span,.workshop-tts-card>span{color:var(--green);letter-spacing:.14em;font-size:10px;font-weight:700}.hub-card strong,.media-category-card strong{font-family:var(--font-display);margin-top:30px;font-size:22px;line-height:1.08}.workshop-card strong,.workshop-tts-card strong{font-family:var(--font-display);margin-top:8px;font-size:18px;line-height:1.2}.workshop-tts-title-row{box-sizing:border-box;flex-wrap:wrap;align-items:baseline;gap:8px 12px;width:100%;margin-top:8px;padding-right:32px;display:flex}.workshop-tts-title-row strong{margin-top:0}.workshop-tts-limit-note{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.hub-card small,.media-category-card small{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.6}.workshop-card small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.hub-card b,.media-category-card b{color:var(--green);margin-top:auto;padding-top:20px;font-size:12px}.workshop-card b{color:var(--green);margin-top:auto;padding-top:12px;font-size:12px}.workshop-tts-card{background:var(--card);border:1px solid #174f4024;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:0;padding:16px 18px;display:flex;box-shadow:0 12px 38px #1a372e0a}.workshop-tts-editor{width:100%;margin-top:4px;padding-top:0;position:relative}.workshop-tts-editor-bar{z-index:2;justify-content:flex-end;align-items:center;width:auto;max-width:100%;margin:0;display:flex;position:absolute;top:-22px;right:0}.workshop-tts-expand-btn{opacity:1;pointer-events:auto;cursor:pointer;justify-content:center;align-items:center;width:24px;height:24px;transition:color .15s,background .15s;display:inline-flex;color:var(--muted)!important;background:0 0!important;border:0!important;border-radius:6px!important;margin:0!important;padding:0!important}.workshop-tts-expand-btn svg{width:14px;height:14px;display:block}.workshop-tts-expand-btn:hover{color:var(--green)!important;background:#174f4014!important}.workshop-tts-editor-box{border-radius:8px;width:100%;position:relative;overflow:hidden}.workshop-tts-tip-float{z-index:3200;pointer-events:none;position:fixed}.workshop-tts-tip{pointer-events:auto;--el-alert-title-font-size:12px;width:100%;box-shadow:0 10px 28px #1a372e29;border-radius:10px!important;margin:0!important;padding:8px 10px!important}.workshop-tts-tip .el-alert__content{min-width:0;padding:0}.workshop-tts-tip .el-alert__title{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.workshop-tts-tip .el-alert__close-btn{color:var(--el-color-warning);font-size:14px;top:8px}.workshop-tts-tip-fade-enter-active,.workshop-tts-tip-fade-leave-active{transition:opacity .18s,transform .18s}.workshop-tts-tip-fade-enter-from,.workshop-tts-tip-fade-leave-to{opacity:0;transform:translateY(-6px)}.workshop-tts-card .workshop-tts-word-count{z-index:1;box-sizing:content-box;font-variant-numeric:lining-nums;text-shadow:0 1px #ffffffb3;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:calc(100% - 48px);margin:0;padding:0 .28em .06em 0;position:absolute;bottom:14px;right:20px;overflow:visible;color:#174f4052!important;font-family:var(--font-display)!important;letter-spacing:-.03em!important;font-size:40px!important;font-style:italic!important;font-weight:700!important;line-height:.85!important}.workshop-tts-expand-body .workshop-tts-word-count--expand{padding:0 .32em .08em 0;bottom:22px;right:32px;color:#174f4042!important;font-size:160px!important}.workshop-tts-card .workshop-tts-textarea{border:1px solid var(--line);resize:none;width:100%;height:205px;min-height:205px;max-height:205px;color:var(--ink);background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='21'%3E%3Cline x1='0' y1='20.5' x2='24' y2='20.5' stroke='%23174f40' stroke-opacity='0.28' stroke-width='1' stroke-dasharray='4 4'/%3E%3C/svg%3E");background-repeat:repeat;background-size:24px 21px;background-attachment:local;background-origin:content-box;background-clip:content-box;border-radius:8px;margin-top:0;padding:10px 12px;font-family:inherit;font-weight:400;line-height:21px;font-size:14px!important}.workshop-tts-expand-layer{z-index:2200;background:#17221f6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.workshop-tts-expand-panel{background:var(--card);border:1px solid #174f4029;border-radius:14px;flex-direction:column;width:min(920px,100%);height:min(72vh,640px);padding:16px 18px;display:flex;box-shadow:0 24px 64px #1a372e2e}.workshop-tts-expand-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.workshop-tts-expand-head strong{font-family:var(--font-display);color:var(--ink);margin:0;font-size:20px;font-weight:600}.workshop-tts-expand-close{cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;color:var(--ink)!important;background:#fff!important;border:1px solid #174f4038!important;border-radius:8px!important;margin:0!important;padding:0!important}.workshop-tts-expand-close svg{width:14px;height:14px;display:block}.workshop-tts-expand-close:hover{border-color:var(--green)!important;color:var(--green)!important;background:#174f400f!important}.workshop-tts-expand-body{border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.workshop-tts-expand-textarea{border:1px solid var(--line);resize:none;width:100%;min-height:0;color:var(--ink);background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='27'%3E%3Cline x1='0' y1='26.5' x2='24' y2='26.5' stroke='%23174f40' stroke-opacity='0.28' stroke-width='1' stroke-dasharray='4 4'/%3E%3C/svg%3E");background-repeat:repeat;background-size:24px 27px;background-attachment:local;background-origin:content-box;background-clip:content-box;border-radius:10px;flex:auto;margin:0;padding:14px 16px;font-family:inherit;font-weight:400;line-height:27px;height:auto!important;max-height:none!important;font-size:18px!important}.workshop-tts-controls{align-items:center;gap:20px;width:100%;margin-top:8px;display:flex}.workshop-tts-options{background:#f7f6f18c;border:1px solid #174f402e;border-radius:10px;flex:auto;grid-template-columns:auto auto auto auto;justify-content:start;align-items:center;gap:8px 28px;min-width:0;padding:8px 12px;display:grid}.workshop-tts-options>.workshop-tts-field{min-width:0}.workshop-tts-options>.workshop-tts-field:first-child select,.workshop-tts-options>.workshop-tts-field:nth-child(2) select{flex:none;width:96px;min-width:96px;max-width:96px}.workshop-tts-field-voice{flex-direction:row;align-items:center;gap:6px;width:auto;min-width:0;display:flex}.workshop-tts-field-voice .workshop-tts-field-label{flex:none}.workshop-tts-field-voice .workshop-tts-voice-select{box-sizing:border-box;border:1px solid var(--line);width:192px;min-width:192px;max-width:192px;height:34px;min-height:34px;color:var(--ink);font:inherit;background:#f7f6f1;border-radius:8px;flex:0 0 192px;padding:0 8px;font-size:13px;font-weight:400;line-height:34px}.workshop-tts-generate-btn{box-sizing:border-box;white-space:nowrap;cursor:pointer;flex:none;align-self:center;width:auto;height:34px;min-height:34px;font-weight:700;line-height:1;transition:border-color .15s,background .15s,color .15s;color:var(--ink)!important;background:#fff!important;border:1px solid #174f4038!important;border-radius:8px!important;margin:0!important;padding:0 14px!important;font-size:13px!important}.workshop-tts-generate-btn:hover:not(:disabled){border-color:var(--green)!important;color:var(--green)!important;background:#174f400f!important}.workshop-tts-generate-btn:disabled{opacity:.55;cursor:not-allowed}.workshop-tts-field-label{flex:none;width:fit-content;max-width:100%;padding-right:12px;line-height:1;display:inline-block;position:relative}.workshop-tts-help-btn{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:11px;height:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-4px;right:0;color:var(--green)!important;background:#fff!important;border:1px solid #174f4047!important;margin:0!important;padding:0!important;font-size:8px!important}.workshop-tts-help-btn:hover{background:#174f4014!important}.workshop-tts-preview-btn{box-sizing:border-box;white-space:nowrap;cursor:pointer;border-radius:8px;min-width:80px;height:34px;min-height:34px;font-weight:600;line-height:1;transition:border-color .15s,background .15s,color .15s;color:var(--ink)!important;background:#fff!important;border:1px solid #174f4038!important;margin-top:0!important;padding:0 12px!important;font-size:13px!important}.workshop-tts-preview-btn:hover:not(:disabled){border-color:var(--green)!important;color:var(--green)!important;background:#174f400f!important}.workshop-tts-preview-btn.active{border-color:var(--green)!important;color:var(--green)!important;background:#174f4014!important}.workshop-tts-preview-btn:disabled{opacity:.55;cursor:not-allowed}.workshop-voice-help-tip{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.workshop-voice-help-list{flex-direction:column;gap:10px;max-height:min(56vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.workshop-voice-help-item{background:#ffffffe0;border:1px solid #174f401f;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.workshop-voice-help-item.selected{background:#174f400f;border-color:#174f4059}.workshop-voice-help-main{flex-direction:column;gap:4px;min-width:0;display:flex}.workshop-voice-help-main strong{color:var(--ink);font-size:14px;font-weight:650}.workshop-voice-help-main p{color:var(--ink);margin:0;font-size:13px;line-height:1.45}.workshop-voice-help-main small{color:var(--muted);font-size:12px}.workshop-voice-help-actions{flex-direction:column;flex:none;gap:6px;display:flex}.workshop-voice-help-preview,.workshop-voice-help-select{cursor:pointer;min-width:64px;color:var(--ink);background:#fff;border:1px solid #174f4038;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:650;transition:border-color .15s,background .15s,color .15s}.workshop-voice-help-preview:hover:not(:disabled),.workshop-voice-help-select:hover{border-color:var(--green);color:var(--green);background:#174f400f}.workshop-voice-help-preview:disabled{opacity:.5;cursor:not-allowed}.workshop-history{min-width:0;margin-top:18px}.workshop-history-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.workshop-history-head h3{font-family:var(--font-display);color:var(--ink);margin:4px 0 0;font-size:22px;font-weight:600}.workshop-history-head-actions{align-items:center;gap:12px;display:flex}.workshop-history-count{color:var(--muted);white-space:nowrap;font-size:12px}.workshop-history-refresh{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #174f402e;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.workshop-history-refresh:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#174f400f}.workshop-history-refresh:disabled{opacity:.6;cursor:not-allowed}.workshop-history-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:18px;font-size:13px;line-height:1.6}.workshop-history-table{border:1px solid var(--line);background:#ffffffb8;border-radius:10px;overflow:hidden}.workshop-history-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:1.35fr 1.8fr .7fr .6fr .9fr .7fr 1.1fr;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:grid}.workshop-history-row:last-child{border-bottom:0}.workshop-history-row-head{color:var(--muted);letter-spacing:.08em;background:#f7f6f1;font-size:10px;font-weight:700}.workshop-history-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workshop-history-time{color:var(--muted)}.workshop-history-text{white-space:nowrap}.workshop-history-status.is-success{color:var(--green);font-weight:700}.workshop-history-status.is-failed{color:#b42318;font-weight:700}.workshop-history-status.is-pending{color:#bc8a3e;font-weight:700}.workshop-history-actions{align-items:center;gap:6px;display:inline-flex;overflow:visible}.workshop-history-play,.workshop-history-download{color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #174f4038;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;transition:border-color .15s,background .15s,color .15s}.workshop-history-play:hover:not(:disabled),.workshop-history-download:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#174f400f}.workshop-history-play.active{border-color:var(--green);color:var(--green);background:#174f4014}.workshop-history-play:disabled,.workshop-history-download:disabled{opacity:.55;cursor:not-allowed}.workshop-history-pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.workshop-history-pagination button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #174f402e;border-radius:8px;padding:8px 12px;font-size:12px;transition:border-color .15s,background .15s,color .15s}.workshop-history-pagination button:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#174f400f}.workshop-history-pagination button:disabled{opacity:.55;cursor:not-allowed}.workshop-history-pagination span{color:var(--muted);font-size:12px}.workshop-tts-field{flex-direction:row;align-items:center;gap:6px;min-width:0;display:flex}.workshop-tts-field>span{color:#111;letter-spacing:.02em;white-space:nowrap;flex:none;font-size:13px;font-weight:700;line-height:1}.workshop-tts-field select{border:1px solid var(--line);width:100%;min-width:0;height:34px;min-height:34px;color:var(--ink);font:inherit;background:#f7f6f1;border-radius:8px;flex:auto;padding:0 8px;font-size:13px;font-weight:400;line-height:34px}.workshop-tts-field select:disabled{opacity:.65;cursor:not-allowed}.workshop-tts-error{color:#b42318;margin:8px 0 0;font-size:12px;line-height:1.4}.workshop-tts-card button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #174f4038;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:13px;font-weight:700}.workshop-tts-card button:disabled{opacity:.55;cursor:not-allowed}.workshop-tts-card p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.membership-hero{background:var(--green);color:#fff;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:1.4fr .6fr;align-items:end;gap:28px;padding:40px;display:grid}.membership-hero .eyebrow{color:var(--lime)}.membership-hero h2{letter-spacing:-.04em;margin:0;font-size:clamp(38px,5vw,56px)}.membership-hero .section-desc{color:#ffffffa6;max-width:680px;margin-top:12px;font-size:14px}.current-plan-card{background:#ffffff14;border:1px solid #fff3;border-radius:11px;padding:22px}.current-plan-card span,.current-plan-card strong,.current-plan-card small{display:block}.current-plan-card span{letter-spacing:.15em;opacity:.6;font-size:10px}.current-plan-card strong{color:var(--lime);font-family:var(--font-display);margin-top:12px;font-size:30px}.current-plan-card small{opacity:.62;margin-top:6px;font-size:13px}.usage-panel{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:repeat(3,1fr);margin:16px 0 30px;display:grid;overflow:hidden}.usage-panel>div{border-right:1px solid var(--line);padding:16px}.usage-panel>div:last-child{border-right:0}.usage-panel span,.usage-panel strong{display:block}.usage-panel span{color:var(--muted);letter-spacing:.1em;font-size:11px;font-weight:700}.usage-panel strong{margin-top:6px;font-size:16px}.usage-panel i{background:#e8ebe7;height:3px;margin-top:10px;display:block}.usage-panel i b{background:var(--green);height:100%;display:block}.plan-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px;display:grid}.plan-card{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;min-height:470px;padding:25px;display:flex}.plan-card.recommended{box-shadow:var(--shadow);border-color:#93bbaa}.plan-card.workshop-plan{background:#edf3ef}.plan-label{color:var(--green);letter-spacing:.15em;font-size:10px;font-weight:700}.plan-card h3{font-family:var(--font-display);margin:28px 0 5px;font-size:27px}.plan-card>p{min-height:36px;color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.55}.plan-card>strong{color:var(--green);font-size:30px}.plan-card>small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.plan-card ul{gap:12px;margin:25px 0;padding:0;list-style:none;display:grid}.plan-card li{color:var(--muted);padding-left:18px;font-size:13px;line-height:1.4;position:relative}.plan-card li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}.plan-card li.excluded{color:#9b6864}.plan-card li.excluded:before{content:"×";color:#a34b45;font-size:15px;line-height:.8}.plan-card button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:6px;margin-top:auto;padding:11px;font-size:13px;font-weight:700}.plan-card.recommended button,.plan-card.workshop-plan button{background:var(--green);color:#fff}.quota-store{border-top:1px solid var(--line);margin-top:55px;padding-top:34px}.quota-store .section-heading h2,.quota-store .section-heading h3{font-family:var(--font-display);margin:0;font-size:clamp(26px,3vw,36px)}.quota-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.quota-grid article{border:1px solid var(--line);background:var(--card);border-radius:9px;flex-direction:column;min-height:180px;padding:19px;display:flex}.quota-grid span,.quota-grid strong,.quota-grid small{display:block}.quota-grid span{color:var(--green);letter-spacing:.1em;font-size:10px;font-weight:700}.quota-grid strong{font-family:var(--font-display);margin-top:25px;font-size:18px}.quota-grid small{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.5}.quota-grid button,.quota-grid a{border:1px solid var(--green);width:fit-content;color:var(--green);cursor:pointer;background:0 0;border-radius:5px;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none}.quota-grid .team-quota{background:var(--green-bright);border-color:#9abfaf}.membership-note{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.6}.token-management-view{padding-bottom:32px}.token-management-hero{grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px 26px}.token-management-hero h2{font-size:clamp(28px,4vw,38px)}.token-management-hero .section-desc{max-width:560px;margin-top:8px;font-size:13px;line-height:1.5}.token-stats-panel{background:#ffffff14;border:1px solid #fff3;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0;display:grid;overflow:hidden}.token-stats-panel--surface{background:var(--card);border:1px solid #174f4024;margin-bottom:18px;box-shadow:0 12px 38px #1a372e0a}.token-stats-panel--surface .token-stat-item{border-right-color:#174f401f}.token-stats-panel--surface .token-stat-item span,.token-stats-panel--surface .token-stat-item small{color:var(--muted);opacity:1}.token-stats-panel--surface .token-stat-item strong{color:var(--green)}.token-stat-item{text-align:center;border-right:1px solid #ffffff26;padding:12px 14px}.token-stat-item:last-child{border-right:0}.token-stat-item span,.token-stat-item strong,.token-stat-item small{display:block}.token-stat-item span{letter-spacing:.12em;opacity:.65;font-size:10px}.token-stat-item strong{color:var(--lime);font-family:var(--font-display);margin-top:4px;font-size:22px;line-height:1}.token-stat-item small{opacity:.55;margin-top:2px;font-size:10px}.token-management-view .token-purchase-section{margin-top:12px}.token-management-view .token-section-heading{grid-template-columns:1fr;gap:0;margin-bottom:8px}.token-management-view .token-section-heading .section-title{font-size:clamp(22px,3vw,28px)}.token-management-view .token-records-grid{margin-top:16px}.token-management-view .token-record-panel{padding:16px}.token-management-view .token-record-head{margin-bottom:10px}.token-management-view .token-record-title-line h3{font-size:20px}.token-record-title-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.token-record-title-line .eyebrow{margin:0}.token-record-title-line h3{font-family:var(--font-display);margin:0;font-size:24px}.token-record-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.token-record-filters{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.token-record-filter{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.token-record-filter select,.token-record-date-input{border:1px solid var(--line);height:28px;color:var(--ink);background:#fff;border-radius:6px;padding:0 8px;font-size:12px}.token-record-date-input{cursor:pointer;min-width:132px}.token-record-range-sep{color:var(--muted);white-space:nowrap;font-size:12px}.token-record-filter-clear{border:1px solid var(--line);height:28px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;padding:0 10px;font-size:12px}.token-record-filter-clear:hover{color:var(--ink);border-color:#93bbaa}.token-record-count{color:var(--muted);letter-spacing:.08em;white-space:nowrap;font-size:12px}.token-record-pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.token-record-pagination button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px}.token-record-pagination button:disabled{opacity:.45;cursor:not-allowed}.token-management-view .membership-note{margin-top:12px;font-size:12px}.token-purchase-section{margin-top:16px}.token-section-heading{margin-bottom:10px}.token-purchase-card{box-shadow:var(--shadow);background:#f7f6f1;border:1px solid #93bbaa;border-radius:12px;height:196px;padding:8px;overflow:hidden}.token-purchase-layout{grid-template-columns:minmax(0,10fr) minmax(0,9fr) minmax(0,20fr);align-items:stretch;gap:10px;height:100%;min-height:0;display:grid}.calc-column{flex-direction:column;gap:4px;min-width:0;min-height:0;display:flex;overflow:hidden}.calc-column-quantity{background:#fff;border:1px solid #93bbaa;border-radius:8px;width:100%;max-width:100%;padding:6px;box-shadow:inset 0 0 0 1px #245d4c0f}.calc-column-quantity .calc-column-label{color:var(--green);letter-spacing:.08em;font-size:10px}.calc-column-tiers{background:#fff;border:1px solid #93bbaa;border-radius:8px;width:100%;min-width:0;max-width:none;padding:6px;box-shadow:inset 0 0 0 1px #245d4c0f}.calc-column-label{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:700;line-height:1.2}.calc-quantity-input{align-items:center;gap:4px;width:100%;min-width:0;display:flex}.calc-quantity-combo{flex:0 0 102px;width:102px;max-width:100%;position:relative}.calc-quantity-input-field{box-sizing:border-box;width:100%;height:32px;color:var(--ink);text-align:center;background:#fff;border:1px solid #93bbaa;border-radius:6px;padding:0 18px 0 2px;font-size:16px;font-weight:700;line-height:32px}.calc-quantity-dropdown-btn{width:18px;height:32px;color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;line-height:32px;position:absolute;top:0;right:0}.calc-quantity-presets{z-index:3;border:1px solid var(--line);width:52px;box-shadow:var(--shadow);background:#fff;border-radius:6px;margin:0;padding:2px 0;list-style:none;position:absolute;top:calc(100% + 2px);right:0}.calc-quantity-presets li{color:var(--ink);text-align:center;cursor:pointer;padding:4px 2px;font-size:12px;font-weight:700;line-height:1.2}.calc-quantity-presets li:hover{background:var(--green-bright);color:var(--green)}.calc-quantity-unit{color:var(--green);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.calc-tier-prices{flex-direction:column;flex:1;justify-content:flex-start;gap:1px;min-height:0;display:flex;overflow:hidden}.calc-tier-price-item{background:#fff;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;padding:1px 4px;display:flex}.calc-tier-price-item span{color:var(--muted);font-size:10px;font-weight:600;line-height:1.2}.calc-tier-price-item strong{color:var(--ink);white-space:nowrap;font-size:11px;font-weight:700}.calc-tier-price-item.active{background:var(--green-bright);border-color:#93bbaa}.calc-tier-price-item.active span,.calc-tier-price-item.active strong{color:var(--green)}.calc-step-unit{color:var(--ink);font-size:12px;font-weight:600}.calc-total-inline{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;padding-top:6px;display:flex}.calc-total-inline span{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:700}.calc-total-inline strong{color:var(--green);font-family:var(--font-display);font-size:20px;line-height:1}.breakdown-discount-compact{color:var(--green);margin:0;font-size:10px;line-height:1.3}.breakdown-row,.breakdown-total{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.breakdown-row span,.breakdown-total span,.breakdown-calc-title{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:700}.breakdown-row strong{color:var(--green);font-size:16px}.breakdown-unit-price{text-align:right}.breakdown-unit-price small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:600;display:block}.breakdown-calc{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.breakdown-calc-title{margin:0}.breakdown-calc-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calc-step-full{grid-column:1/-1}.breakdown-calc-segments{background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calc-segment-body{flex:1;min-height:0;overflow:hidden}.calc-segment-head,.calc-segment-row{grid-template-columns:58px minmax(0,1fr) 68px;align-items:center;gap:6px;padding:3px 6px;display:grid}.calc-segment-head span:first-child,.calc-segment-range{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calc-segment-range{color:var(--ink);font-size:10px;font-weight:700}.calc-segment-head span:nth-child(2),.calc-segment-formula{text-align:center;text-overflow:ellipsis;min-width:0;overflow:hidden}.calc-segment-formula{color:var(--muted);white-space:nowrap;font-size:10px}.calc-segment-head span:nth-child(3),.calc-segment-subtotal{text-align:right}.calc-segment-subtotal{color:var(--green);white-space:nowrap;font-size:10px;font-weight:700}.calc-segment-total{border-top:1px solid var(--line);background:#f7f6f1;flex-shrink:0;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.calc-segment-total-label{color:var(--muted);letter-spacing:.08em;flex-shrink:0;font-size:10px;font-weight:700}.calc-segment-total-amount{align-items:baseline;gap:6px;min-width:0;display:flex}.calc-segment-total-amount strong{color:var(--green);font-family:var(--font-display);white-space:nowrap;font-size:16px;line-height:1}.calc-segment-total-amount small{color:var(--green);white-space:nowrap;font-size:9px;font-weight:600;line-height:1.2}.calc-segment-head span{color:var(--muted);letter-spacing:.06em;font-size:10px;font-weight:700}.calc-segment-head{border-bottom:1px solid var(--line);background:#f7f6f1;flex-shrink:0}.calc-segment-row+.calc-segment-row{border-top:1px solid var(--line)}.token-payment-methods{background:#fff;border:1px solid #93bbaa;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;min-width:0;max-width:none;height:100%;min-height:0;padding:6px;display:grid;overflow:hidden}.token-payment-option{text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;width:100%;min-width:0;height:100%;min-height:0;padding:2px 4px;display:flex;overflow:hidden}.token-payment-option+.token-payment-option{border-left:1px solid var(--line)}.token-payment-qr{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.token-payment-qr img{aspect-ratio:1;object-fit:contain;border-radius:4px;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.token-payment-qr.is-pending img{opacity:.42;filter:grayscale(.15)}.token-payment-qr.is-clickable{cursor:pointer;border-radius:6px;outline:none;transition:box-shadow .2s,transform .2s}.token-payment-qr.is-clickable:hover,.token-payment-qr.is-clickable:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 2px #07c16047}.token-payment-qr.is-processing{opacity:.72;pointer-events:none}.token-payment-click-hint{color:#fff;white-space:nowrap;pointer-events:none;background:#07c160eb;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.token-payment-watermark{color:#1e1e1eb8;letter-spacing:.14em;pointer-events:none;text-shadow:0 0 6px #fff,0 0 10px #fff;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0;transform:rotate(-18deg)}.token-payment-option strong{flex-shrink:0;font-size:8px;line-height:1.15}.token-payment-option>span{font-family:var(--font-display);flex-shrink:0;font-size:11px;line-height:1}.token-payment-option--wechat strong,.token-payment-option--wechat>span{color:#07c160}.token-payment-option--alipay strong,.token-payment-option--alipay>span{color:#1677ff}.token-payment-option--other strong,.token-payment-option--other>span{color:var(--muted)}.token-payment-option--bank{border-color:#d4c4a8}.token-payment-option--bank strong,.token-payment-option--bank>span{color:#8b6914}.token-payment-bank-info{border-top:1px dashed var(--line);width:100%;margin-top:0;padding-top:4px}.token-payment-bank-info p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.token-payment-bank-info p+p{margin-top:2px}.breakdown-discount{color:var(--green);margin:0;font-size:12px;line-height:1.6}.breakdown-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.breakdown-total strong{color:var(--green);font-family:var(--font-display);font-size:32px;line-height:1}.token-records-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;margin-top:28px;display:grid}.token-record-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:22px}.token-record-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.token-record-head h3{font-family:var(--font-display);margin:0;font-size:24px}.token-record-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.token-record-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr .7fr .7fr .7fr;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:grid}.token-record-row-purchase{grid-template-columns:1.2fr .7fr .7fr .8fr}.acquisition-method{font-weight:700}.acquisition-method--purchase{color:var(--green)}.acquisition-method--checkin{color:#bc8a3e}.token-record-row-usage{grid-template-columns:1.1fr 1.4fr .7fr}.token-record-row:last-child{border-bottom:0}.token-record-row-head{color:var(--muted);letter-spacing:.08em;background:#f7f6f1;font-size:10px;font-weight:700}.token-record-row-head span,.token-record-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.token-record-time{color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default}.token-record-row .status-done{color:var(--green);font-weight:700}.token-record-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:18px;font-size:13px;line-height:1.6}.account-view{padding-bottom:40px}.account-head{box-sizing:border-box;background:var(--green);color:#fff;width:100%;height:232px;min-height:232px;box-shadow:var(--shadow);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:42px;display:flex}.account-identity{flex:1;align-items:center;gap:18px;min-width:0;display:flex}.account-identity>span{width:78px;height:78px;color:var(--lime);font-family:var(--font-display);background:#ffffff1a;border:1px solid #ffffff47;border-radius:50%;place-content:center;font-size:24px;font-weight:700;display:grid}.account-title-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.account-identity h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(44px,6vw,64px)}.account-identity .eyebrow{color:var(--lime);margin-bottom:5px}.account-identity small{color:#ffffff94;margin-top:6px;font-size:13px;display:block}.member-name{color:#ffffffad;margin-top:7px;font-size:13px;font-weight:500;display:block}.member-name b{color:#fff}.account-logout-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;border-radius:18px;flex-shrink:0;height:36px;padding:0 16px;font-size:13px;font-weight:600}.account-logout-btn:hover{background:#ffffff2e;border-color:#fff9}.account-head-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.account-checkin-btn{color:#6b4518;cursor:pointer;background:linear-gradient(135deg,#fff4d6 0%,#f0c56e 55%,#e5b24a 100%);border:1px solid #ffecbed9;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:15px;font-weight:700;line-height:1;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex;box-shadow:0 8px 24px #0000002e}.account-checkin-btn:hover:not(:disabled){border-color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px #0000003d}.account-checkin-btn.is-done,.account-checkin-btn:disabled{color:#ffffffb8;box-shadow:none;cursor:not-allowed;background:#ffffff1f;border-color:#ffffff47;transform:none}.account-checkin-icon{color:#8a5d1e;font-size:14px;line-height:1}.account-checkin-btn.is-done .account-checkin-icon,.account-checkin-btn:disabled .account-checkin-icon{color:#ffffffb8}.account-checkin-label{white-space:nowrap}.account-checkin-reward{color:#7a5420;letter-spacing:.02em;background:#6b45181f;border-radius:999px;align-items:center;height:24px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.account-checkin-hint{color:#ffffff94;text-align:right;font-size:12px}.account-toolbar{background:var(--card);border:1px solid #174f4024;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:20px 22px;display:flex;box-shadow:0 12px 38px #1a372e0a}.account-toolbar .account-identity>span{background:var(--green-bright);color:var(--green);border-color:#174f402e}.account-toolbar .member-name{color:var(--muted);margin-top:0}.account-toolbar .member-name b{color:var(--ink)}.account-toolbar .account-logout-btn{color:var(--green);background:0 0;border-color:#174f4033}.account-toolbar .account-logout-btn:hover{border-color:var(--green);background:var(--green-bright)}.account-toolbar .account-checkin-hint{color:var(--muted)}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.account-card{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:24px}.account-card h3{font-family:var(--font-display);margin:8px 0 20px;font-size:23px}.account-card>p{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.65}.account-page,.home-page{min-height:100vh;overflow-x:hidden}.account-field{border-bottom:1px solid var(--line);grid-template-columns:115px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.account-field span{color:var(--muted);font-size:13px}.account-field strong{word-break:break-all;font-size:14px}.account-field button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:0 0;border-radius:4px;padding:6px 10px;font-size:12px}.account-field button:hover{border-color:var(--green);background:var(--green-bright)}.account-field-actions{justify-content:flex-end;gap:6px;display:flex}.account-username-input{box-sizing:border-box;border:1px solid var(--line);width:100%;height:34px;color:var(--ink);font:inherit;background:#f7f6f1;border-radius:4px;outline:none;padding:0 10px;font-size:14px}.account-username-input:focus{border-color:var(--green);background:var(--card)}.setting-row{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:14px}.setting-row small{color:var(--muted);margin-top:3px;font-size:12px}.setting-row .el-switch{--el-switch-on-color:var(--green)}.contact-card p{margin:0}.contact-card a{color:var(--green);margin:18px 0 9px;font-size:15px;font-weight:700;text-decoration:none;display:block}.contact-card a:hover{text-decoration:underline}.contact-card button,.outline-account-button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:5px;padding:8px 11px;font-size:12px}.contact-card button:hover,.outline-account-button:hover{background:var(--green-bright)}.outline-account-button{margin-top:16px}.contact-card>small{color:var(--green);margin-top:8px;font-size:12px;display:block}.app-topbar{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf9f5e6;border-bottom:1px solid #174f401f;position:fixed;top:0;left:0;right:0}.app-topbar-shell{width:100%;padding:0 var(--page-gutter);box-sizing:border-box}.app-topbar-row{width:100%;max-width:var(--page-max-width);justify-content:space-between;align-items:center;gap:16px;height:72px;margin:0 auto;display:flex}.app-topbar .brand{min-width:220px;color:inherit;text-align:left;cursor:pointer;letter-spacing:-.02em;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-weight:700;display:flex}.app-topbar .brand span{background:var(--green);color:#fff;width:36px;height:36px;font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:700;display:grid}.app-topbar .brand strong,.app-topbar .brand small,.home-menu.el-menu--horizontal .el-menu-item{font-family:var(--font-sans)}.app-topbar .brand strong{font-size:16px;line-height:1.1;display:block}.app-topbar .brand small{color:var(--muted);letter-spacing:.08em;margin-top:2px;font-size:12px;font-weight:600;display:block}.topbar-right{flex:1;justify-content:flex-end;align-items:center;gap:12px;min-width:0;height:36px;display:flex}.user-actions{flex-shrink:0;align-items:center;gap:8px;height:36px;display:flex}.user-actions .el-tooltip__trigger{align-items:center;height:36px;display:inline-flex}.user-email{box-sizing:border-box;max-width:140px;height:36px;color:var(--green);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#d9d5ca;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;line-height:1;transition:background-color .2s,color .2s;display:inline-flex;overflow:hidden}.user-email:hover,.user-email.active{background:var(--green-bright);color:#123830}.auth-page{color:var(--ink);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.auth-card{background:var(--card);width:min(640px,100%);box-shadow:var(--shadow);border:1px solid #174f4024;border-radius:12px;padding:52px 44px 48px}.auth-brand{justify-content:center;align-items:center;gap:18px;margin-bottom:40px;display:flex}.auth-brand span{background:var(--green);color:#fff;width:56px;height:56px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:22px;font-weight:700;display:grid}.auth-brand strong{color:var(--ink);letter-spacing:-.02em;font-size:clamp(21px,3.2vw,26px);line-height:1.12;display:block}.auth-brand small{color:var(--muted);letter-spacing:.1em;margin-top:6px;font-size:14px;font-weight:600;display:block}.auth-title{text-align:center;font-family:var(--font-display);letter-spacing:-.035em;color:var(--green);margin:0 0 32px;font-size:clamp(28px,4vw,36px);font-weight:600;line-height:1.15}.auth-field{margin-bottom:18px}.auth-input{box-sizing:border-box;border:1px solid var(--line);width:100%;height:50px;color:var(--ink);font:inherit;background:#f7f6f1;border-radius:8px;outline:none;padding:0 16px;font-size:16px}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{border-color:var(--green);background:var(--card);box-shadow:0 0 0 3px #174f401a}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #f7f6f1}.auth-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #f7f6f1}.auth-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #f7f6f1}.auth-input:-webkit-autofill:active{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #f7f6f1}.auth-input:focus:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset}.auth-email-row{align-items:center;gap:12px;display:flex}.auth-email-row .auth-input{flex:1;width:auto;min-width:0}.auth-suffix-wrap{flex:0 0 140px;width:140px}.auth-suffix-wrap .auth-input{cursor:pointer;padding:0 12px;font-size:14px}.auth-suffix-wrap select.auth-input option{color:var(--ink);background:var(--card)}.auth-password-row,.auth-code-row{align-items:center;gap:12px;display:flex}.auth-password-row .auth-input,.auth-code-row .auth-input{flex:1;width:auto;min-width:0}.auth-toggle,.auth-code-btn{width:140px;height:50px;color:var(--green);cursor:pointer;background:#d9d5ca;border:none;border-radius:18px;flex:0 0 140px;padding:0;font-size:13px;font-weight:600;transition:background-color .2s,color .2s}.auth-toggle:hover,.auth-code-btn:hover:not(:disabled){background:var(--green-bright);color:#123830}.auth-code-btn:disabled{opacity:.6;cursor:not-allowed}.auth-actions{gap:12px;margin-top:8px;display:flex}.auth-btn-primary,.auth-btn-secondary{cursor:pointer;border-radius:7px;flex:1;height:50px;font-size:15px;font-weight:700}.auth-btn-primary{background:var(--green);color:#fff;border:0}.auth-btn-primary:hover{background:var(--el-color-primary-dark-2)}.auth-btn-secondary{border:1px solid var(--green);color:var(--green);background:0 0}.auth-btn-secondary:hover{background:var(--green-bright)}.auth-toast{z-index:9999;background:var(--green);color:#fff;white-space:nowrap;box-shadow:var(--shadow);border-radius:8px;padding:12px 28px;font-size:15px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.rp-main.with-learning-sidebar{--learning-canvas-width:var(--page-max-width);--learning-breadcrumb-height:44px;width:100%;max-width:none;padding-top:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter);overflow-x:hidden}:is(html:has(.rp-main.with-learning-center),body:has(.rp-main.with-learning-center)){overflow:clip}html:has(.rp-main.with-learning-center) body.el-popup-parent--hidden{width:auto!important}:is(.home-page:has(.rp-main.with-learning-center),.account-page:has(.rp-main.with-learning-center)){height:calc(100vh - var(--topbar-height,72px));overflow:clip}.rp-main.with-learning-center .learning-center-layout{flex-direction:column;flex:1;max-width:none;min-height:0;margin:0;display:flex;overflow:clip}.rp-main.with-learning-center .learning-center-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:clip}.rp-main.with-learning-center .learning-center-main>*{flex:1;min-width:0;min-height:0}.rp-main.with-learning-center .learning-center-layout.is-hub{padding-top:32px}.rp-main.with-learning-center .learning-center-layout.has-breadcrumb{padding-top:var(--learning-breadcrumb-height,44px)}.rp-main.with-learning-center .learning-center-layout.is-hub .hub-view{scrollbar-width:none;-ms-overflow-style:none;min-height:0;padding-bottom:46px;display:block;overflow:hidden auto}.rp-main.with-learning-center .learning-center-layout.is-hub .hub-view::-webkit-scrollbar{width:0;height:0;display:none}.rp-main.with-learning-center .learning-center-layout.is-hub .hub-hero{border-radius:18px;flex-shrink:0;margin-bottom:18px;padding:42px}.rp-main.with-learning-center .learning-center-layout.is-hub .learning-center-main{width:100%;max-width:var(--page-max-width);padding-left:var(--page-gutter);padding-right:var(--page-gutter);box-sizing:border-box;margin:0 auto}.rp-main.with-learning-center .learning-center-layout.is-hub .media-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rp-main.with-learning-center .learning-daily{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.rp-main.with-learning-center .learning-daily::-webkit-scrollbar{width:0;height:0;display:none}.rp-main.with-learning-center .assessment-mode{scrollbar-width:none;-ms-overflow-style:none;border-left:0;border-right:0;border-radius:0;margin-bottom:0;overflow-y:auto}.rp-main.with-learning-center .assessment-mode::-webkit-scrollbar{width:0;height:0;display:none}.rp-main.with-learning-center .practice-shell{border-left:0;border-right:0;border-radius:0}.rp-main.with-learning-center .learning-center-breadcrumb{padding-left:0;padding-right:0}.rp-main.with-learning-center .learning-center-breadcrumb-inner{max-width:none;margin:0;padding-left:12px}.rp-main.with-learning-center .course-center-panel,.rp-main.with-learning-center .pronunciation-course-panel{width:100%;max-width:none;height:100%;max-height:100%}.learning-center-layout{width:100%;max-width:var(--learning-canvas-width);min-width:0;margin:0 auto;padding-top:0}.learning-center-layout.is-hub{padding-top:32px}.learning-center-layout.has-breadcrumb{padding-top:var(--learning-breadcrumb-height)}.learning-center-breadcrumb{top:var(--topbar-height,72px);z-index:900;padding-left:var(--page-gutter);padding-right:var(--page-gutter);box-sizing:border-box;opacity:1;pointer-events:auto;background:0 0;margin:0;transition:opacity .2s,transform .2s;position:fixed;left:0;right:0;transform:translateY(0)}.learning-center-breadcrumb.is-hidden{opacity:0;transform:translateY(calc(-1 * var(--learning-breadcrumb-height)));pointer-events:none}.learning-center-breadcrumb-inner{width:100%;max-width:var(--learning-canvas-width);margin:0 auto;padding:12px 0}.learning-center-breadcrumb ol{flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.learning-center-breadcrumb li{align-items:center;gap:10px;min-width:0;display:inline-flex}.learning-center-breadcrumb-link{color:#5f6368;cursor:pointer;background:0 0;border:0;padding:0;font-size:16px;font-weight:400;line-height:1.5}.learning-center-breadcrumb-link:hover{color:#3c4043}.learning-center-breadcrumb-sep{color:#9aa0a6;font-size:15px;font-weight:400;line-height:1}.learning-center-breadcrumb-current{color:#3c4043;font-size:16px;font-weight:400;line-height:1.5}.learning-center-main{min-width:0;overflow-x:hidden}.dashboard-welcome{background:var(--green);color:#fff;box-shadow:var(--shadow);border-radius:18px;grid-template-columns:1.25fr .75fr;align-items:stretch;gap:28px;margin-bottom:18px;padding:42px;display:grid;overflow:hidden}.dashboard-welcome .eyebrow{color:var(--lime)}.dashboard-welcome h1{max-width:700px;font-family:var(--font-display);margin:0;font-size:clamp(42px,5vw,64px);line-height:1.05}.dashboard-welcome h1 em{color:var(--lime);font-style:normal}.dashboard-welcome .intro{color:#ffffffad;font-size:14px;line-height:1.7}.daily-plan-card{background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;align-self:stretch;padding:20px}.plan-card-top{justify-content:space-between;margin-bottom:14px;font-size:12px;display:flex}.plan-card-top span{opacity:.65}.plan-card-top strong{color:var(--lime)}.daily-plan-card ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.daily-plan-card li{background:#ffffff17;border-radius:7px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:11px;display:grid}.daily-plan-card li>span,.daily-plan-card li>b{color:#ffffff8c;font-size:11px}.daily-plan-card li p,.daily-plan-card li strong,.daily-plan-card li small{margin:0;display:block}.daily-plan-card li strong{font-size:13px}.daily-plan-card li small{color:#ffffff8c;margin-top:3px;font-size:11px}.daily-plan-card li.done{opacity:.62}.daily-plan-card li.done strong{text-decoration:line-through}.plan-progress{margin-top:16px}.plan-progress i{background:var(--lime);border-radius:4px;width:33%;height:3px;margin-bottom:7px;display:block}.plan-progress span{opacity:.62;font-size:11px}.learning-path-strip{background:#fffefbc7;border:1px solid #174f401f;border-radius:10px;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center;margin-bottom:38px;padding:14px 18px;display:grid}.learning-path-strip>div{grid-template-columns:27px 1fr;align-items:center;gap:8px;display:grid}.learning-path-strip>div>span{background:var(--green-bright);width:27px;height:27px;color:var(--green);border-radius:50%;place-content:center;font-size:10px;font-weight:700;display:grid}.learning-path-strip p,.learning-path-strip strong,.learning-path-strip small{margin:0;display:block}.learning-path-strip strong{font-size:13px}.learning-path-strip small{color:var(--muted);margin-top:2px;font-size:11px}.learning-path-strip>i{background:var(--line);height:1px}.compact-hero{border-top:1px solid var(--line);scroll-margin-top:calc(var(--topbar-height,72px) + 16px);grid-template-columns:1fr auto;align-items:end;gap:30px;margin-top:20px;margin-bottom:20px;padding-top:40px;display:grid}.compact-hero .intro{max-width:650px;font-size:14px;line-height:1.65}.progress-card{border:1px solid var(--line);background:var(--card);border-radius:8px;width:min(300px,100%);padding:20px}.progress-head{justify-content:space-between;font-size:13px;display:flex}.progress-track{background:#e5e7e1;height:4px;margin:14px 0}.progress-track i{background:var(--green);width:60%;height:100%;display:block}.progress-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.practice-shell,.assessment-mode,.profile-section,.course-module{border-radius:12px;overflow:hidden;box-shadow:0 12px 38px #1a372e0d}.practice-shell{background:var(--card);border:1px solid #174f4021;grid-template-columns:270px 1fr;min-height:610px;display:grid}.lesson-list{border-right:1px solid var(--line);padding:24px 18px}.side-label{color:var(--muted);letter-spacing:.14em;margin:0 10px 18px;font-size:11px;font-weight:700}.lesson{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:25px 1fr auto;align-items:start;gap:10px;padding:15px 10px;display:grid}.lesson.active{color:var(--ink);background:var(--green-bright)}.lesson span:first-child,.lesson b{letter-spacing:.08em;font-size:10px}.lesson strong,.lesson small{display:block}.lesson strong{margin-bottom:4px;font-size:13px}.lesson small{color:var(--muted);font-size:11px}.lesson b{white-space:nowrap;font-weight:500}.reference{border-top:1px solid var(--line);margin-top:120px;padding:18px 10px 0}.reference span,.reference strong,.reference a{display:block}.reference span{color:var(--muted);letter-spacing:.12em;font-size:10px}.reference strong{margin:7px 0;font-size:12px}.reference a{color:var(--green);font-size:11px;text-decoration:none}.studio{padding:28px 46px 40px}.studio-head{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.step,.difficulty{background:var(--green-bright);color:var(--green);margin-right:6px;padding:6px 9px;font-weight:700}.difficulty{color:#7e6d52;background:#eee9df}.sentence-block{align-items:center;gap:18px;margin:48px 0 32px;display:flex}.reference-controls{justify-items:center;gap:6px;display:grid}.play-reference{border:1px solid var(--green);width:48px;height:48px;color:var(--green);cursor:pointer;background:0 0;border-radius:50%}.slow-reference{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:3px 7px;font-size:11px}.sentence{font-family:var(--font-display);margin:0;font-size:clamp(24px,3vw,34px);line-height:1.2}.ipa{color:var(--muted);margin:8px 0 0;font-size:14px}.focus-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.focus-grid>div{border-right:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:16px;display:grid}.focus-grid>div:last-child{border-right:0}.focus-dot{background:var(--green);border-radius:50%;width:10px;height:10px;margin-top:4px}.focus-dot.weak{background:#7e6d52}.focus-dot.tone{background:#5a7f96}.focus-grid p,.focus-grid strong,.focus-grid small{margin:0;display:block}.focus-grid strong{font-size:13px}.focus-grid small{color:var(--muted);margin-top:4px;font-size:11px}.recorder{border:1px dashed var(--line);text-align:center;border-radius:10px;margin-top:28px;padding:24px}.record-button{border:1px solid var(--green);cursor:pointer;background:0 0;border-radius:50%;width:56px;height:56px;margin:0 auto 12px;padding:0}.record-button span{background:var(--green);border-radius:50%;width:16px;height:16px;margin:auto;display:block}.recorder p{margin:0;font-weight:600}.recorder small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.analyse{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:6px;margin-top:18px;padding:12px 18px;font-weight:700}.analyse:disabled{opacity:.45;cursor:default}.assessment-mode{border:1px solid var(--line);background:var(--card);margin-bottom:46px;padding:34px}.assessment-plan-overview{background:var(--green-bright);border:1px solid #9bc2b1;margin-top:0;margin-bottom:30px;padding:20px}.assessment-recommendation-head{grid-template-columns:1fr 1fr;align-items:end;gap:30px;display:grid}.assessment-recommendation-head h3{font-family:var(--font-display);margin:0;font-size:26px}.assessment-plan-status{grid-template-columns:1fr 1fr auto;align-items:stretch;gap:10px;margin-top:17px;display:grid}.assessment-plan-status>div{background:#ffffff6b;border:1px solid #174f4033;padding:14px}.assessment-plan-status span{color:var(--green);letter-spacing:.1em;font-size:10px;font-weight:700;display:block}.assessment-plan-status strong{font-family:var(--font-display);margin:6px 0;font-size:18px;display:block}.assessment-plan-status p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.assessment-plan-status button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:6px;align-self:stretch;padding:12px 18px;font-size:12px;font-weight:700}.feature-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;display:grid}.feature-head h2{margin:0}.assessment-steps{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;display:grid}.assessment-module{border:1px solid var(--line);background:#f7f6f1}.assessment-module.completed{border-color:#9bc2b1}.assessment-module.assessment-focus{border-color:var(--green);box-shadow:0 0 0 4px #174f401f}.assessment-step{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#f7f6f1;border:0;grid-template-columns:28px 1fr auto;gap:10px;padding:15px;display:grid}.assessment-step.completed{background:var(--green-bright)}.assessment-step span,.assessment-step b{color:var(--green);font-size:11px}.assessment-step p,.assessment-step strong,.assessment-step small{margin:0;display:block}.assessment-step strong{font-size:14px}.assessment-step small{color:var(--muted);margin-top:4px;font-size:11px}.assessment-step p{color:var(--muted);margin-top:0;font-size:12px;line-height:1.45}.assessment-inline-advice{border-top:1px solid #9bc2b1;grid-template-columns:1fr 1fr;display:grid}.inline-advice-block{padding:15px}.inline-advice-block+.inline-advice-block{border-left:1px solid var(--line)}.inline-advice-block span{color:var(--green);letter-spacing:.1em;font-size:10px;font-weight:700;display:block}.inline-advice-block strong{margin:6px 0;font-size:13px;display:block}.inline-advice-block p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.inline-advice-block button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:4px;margin-top:11px;padding:7px 9px;font-size:12px}.assessment-test-panel{border:1px solid var(--green);background:var(--green);color:#fff;margin-top:18px;padding:22px}.assessment-test-head{justify-content:space-between;align-items:start;gap:20px;display:flex}.assessment-test-head h3{font-family:var(--font-display);margin:5px 0 0;font-size:25px}.assessment-test-head .section-kicker{color:#ffffffa6}.assessment-test-head small{color:#ffffffb3;letter-spacing:.08em;margin-top:7px;font-size:11px;display:block}.assessment-test-head>button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.assessment-test-sentence{color:var(--ink);background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:15px;margin-top:20px;padding:18px;display:grid}.assessment-test-sentence>button{border:1px solid var(--green);width:46px;height:46px;color:var(--green);cursor:pointer;background:0 0;border-radius:50%}.assessment-test-sentence strong{font-family:var(--font-display);font-size:20px;display:block}.assessment-test-sentence p,.assessment-test-goal{opacity:.72;margin:6px 0 0;font-size:12px;line-height:1.55}.assessment-test-recorder{border:1px solid #ffffff40;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;padding:15px;display:grid}.assessment-test-recorder>button:first-child{cursor:pointer;background:0 0;border:1px solid #fff;border-radius:50%;width:42px;height:42px}.assessment-test-recorder>button:first-child span{background:#fff;border-radius:50%;width:13px;height:13px;margin:auto;display:block}.assessment-test-recorder.recording>button:first-child span{border-radius:2px}.assessment-test-recorder strong,.assessment-test-recorder small{display:block}.assessment-test-recorder small{opacity:.6;margin-top:4px;font-size:11px}.assessment-test-recorder>button:last-child{color:var(--green);cursor:pointer;background:#fff;border:0;border-radius:4px;padding:10px 14px;font-weight:700}.assessment-test-recorder>button:last-child:disabled{opacity:.45;cursor:default}.assessment-test-result{color:var(--ink);background:#fff;grid-template-columns:90px 1fr;gap:18px;margin-top:18px;padding:18px;display:grid}.assessment-result-score{border:1px solid var(--green);text-align:center;border-radius:50%;place-content:center;width:82px;height:82px;display:grid}.assessment-result-score strong{color:var(--green);font-size:28px}.assessment-result-score span{color:var(--muted);font-size:10px}.assessment-test-result h4{font-family:var(--font-display);margin:5px 0;font-size:20px}.assessment-test-result p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.55}.assessment-result-metrics{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.assessment-result-metrics span{background:var(--green-bright);color:var(--green);padding:6px 8px;font-size:11px}.assessment-profile{background:var(--green);color:#fff;grid-template-columns:1fr 1.3fr;gap:30px;margin-top:18px;padding:20px;display:grid}.assessment-profile h3{font-family:var(--font-display);margin:0;font-size:24px}.assessment-profile p:last-child{opacity:.75;font-size:12px}.profile-bars span{grid-template-columns:100px 1fr 25px;align-items:center;gap:8px;margin-bottom:9px;display:grid}.profile-bars small{font-size:11px}.profile-bars i{background:#fff3;height:3px}.profile-bars i b{background:#fff;height:100%;display:block}.profile-bars strong{font-size:11px}.course-lesson.completed>span{color:var(--green)}.course-lesson.completed>span:after{content:" ✓"}.course-lesson.locked{opacity:.58}.course-lesson.locked>b{color:var(--gold,#b8860b)}.profile-section{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(165deg,#fcfdfb 0%,#f3f8f5 52%,#ebf3ee 100%);min-width:0;margin-bottom:46px;padding:34px;overflow-x:hidden}.hub-view.profile-section{box-shadow:none;background:0 0;border:0;margin-bottom:0;padding:0 0 46px}.profile-score-row{justify-content:flex-end;margin:0 0 18px;display:flex}.profile-title{justify-content:space-between;align-items:start;gap:25px;display:flex}.profile-title h2{font-family:var(--font-display);color:var(--green);margin:0;font-size:clamp(32px,4vw,48px)}.profile-title p:last-child{max-width:580px;color:var(--muted);margin-bottom:0;font-size:13px;line-height:1.6}.profile-score{text-align:center;width:115px;height:115px;color:var(--green);background:#fff;border:2px solid #2f8f7038;border-radius:50%;flex-shrink:0;place-content:center;display:grid;box-shadow:0 10px 24px #2f8f701f}.profile-score strong{font-size:30px}.profile-score span{color:var(--muted);font-size:10px}.profile-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;margin-top:28px;display:grid}.profile-overview-item{background:#fff;border:1px solid #2f8f701a;border-radius:14px;padding:16px 16px 14px;box-shadow:0 14px 28px #2f8f7014,inset 0 2px #fffffff2}.profile-overview-head{text-align:center;margin-bottom:14px}.profile-overview-inline{flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:10px;display:inline-flex}.profile-overview-name{letter-spacing:.04em;color:#4a635b;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex}.profile-overview-value{font-family:var(--font-display);color:#2f8f70;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:22px;font-weight:700;line-height:1.2}.profile-overview div{border-right:0;padding:0}.profile-overview div:last-child{border-right:0}.profile-overview-help{color:#4a635b;cursor:pointer;vertical-align:middle;background:#f7fbf9;border:1px solid #4a635b38;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;padding:0;font-size:10px;line-height:1;display:inline-flex}.profile-overview-help:hover{color:#2f8f70;background:#edf6f1;border-color:#2f8f7059}.profile-chart{background:linear-gradient(#fff 0%,#f5fbf8 100%);border:1px solid #2f8f7014;border-radius:12px;padding:8px 6px 4px;box-shadow:0 8px 18px #2f8f7012,inset 0 1px #fffffff2}.profile-echart{width:100%;height:176px}.profile-echart-pie,.profile-echart-placeholder{height:168px}.profile-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;min-width:0;margin-top:12px;display:grid}.profile-card{background:var(--card);color:var(--ink);padding:18px}.profile-card>span{color:var(--green);letter-spacing:.1em;font-size:10px;font-weight:700}.profile-empty,.profile-advice{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.65}.profile-advice strong{color:var(--green)}.profile-advice button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:4px;margin-top:12px;padding:8px 12px;display:block}.profile-dimension{grid-template-columns:110px 1fr 28px;align-items:center;gap:8px;margin-top:12px;display:grid}.profile-dimension small{color:var(--muted);font-size:11px}.profile-dimension i{background:#e3e6e0;height:3px}.profile-dimension i b{background:var(--green);height:100%;display:block}.profile-dimension strong{font-size:12px}.profile-recent-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.profile-recent-list div{background:#fff;border:1px solid #2f8f7014;border-radius:10px;padding:12px;box-shadow:0 8px 18px #2f8f700f}.profile-recent-list span,.profile-recent-list strong,.profile-recent-list small{display:block}.profile-recent-list span{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:11px;overflow:hidden}.profile-recent-list strong{color:var(--green);margin-top:6px;font-size:18px}.profile-recent-list small{color:var(--muted);margin-top:3px;font-size:10px}.profile-practice-records{background:#fff;border:1px solid #2f8f701a;border-radius:14px;margin-top:16px;padding:18px;box-shadow:0 10px 24px #2f8f700f}.profile-practice-records-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.profile-practice-records-head h3{font-family:var(--font-display);color:var(--green);margin:0;font-size:18px}.profile-practice-records-head span{color:var(--muted);font-size:12px}.profile-practice-table-wrap{border:1px solid var(--line);background:#fffefb;border-radius:10px;overflow:hidden auto}.profile-practice-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:12px}.profile-practice-table .col-time,.profile-practice-table .col-type{width:72px}.profile-practice-table .col-source{width:88px}.profile-practice-table .col-subtitle{width:160px}.profile-practice-table .col-score{width:42px}.profile-practice-table .col-total{width:46px}.profile-practice-table thead{background:var(--green-bright)}.profile-practice-table th,.profile-practice-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:8px 6px;overflow:hidden}.profile-practice-table th{color:var(--green);letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:700}.profile-practice-table tbody tr:last-child td{border-bottom:0}.profile-practice-time-cell{vertical-align:middle;overflow:visible}.profile-practice-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;display:inline-block}.profile-practice-subtitle-cell{max-width:0;overflow:hidden}.profile-practice-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.45;display:block;overflow:hidden}.profile-practice-table td:nth-child(2),.profile-practice-table td:nth-child(3),.profile-practice-table td:nth-child(4){vertical-align:middle}.profile-practice-table td:nth-child(n+5),.profile-practice-table th:nth-child(n+5){text-align:center;white-space:nowrap;vertical-align:middle;font-variant-numeric:tabular-nums}.profile-practice-cell{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.profile-practice-table .el-tooltip__trigger{max-width:100%;display:block;overflow:hidden}.profile-practice-type{border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.4;display:inline-block}.profile-practice-type.is-course{color:#2f8f70;background:#e8f5ef}.profile-practice-type.is-assessment{color:#8a6a3d;background:#f3efe6}.profile-practice-type.is-daily{color:#3d6a9a;background:#e8f0fa}.profile-practice-type.is-training{color:#6a4d8a;background:#f0e8f5}.profile-practice-type.is-workshop{color:#4a7a3d;background:#eef6ea}.profile-practice-tooltip.el-popper{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #0000002e;color:#fff!important;background:#17221fd1!important;border:1px solid #ffffff1f!important}.profile-practice-tooltip.el-popper .el-popper__arrow:before{background:#17221fd1!important;border:1px solid #ffffff1f!important}.profile-practice-empty{color:var(--muted);text-align:center;padding:16px 10px}.profile-practice-pagination{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.profile-practice-pagination button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px}.profile-practice-pagination button:disabled{opacity:.45;cursor:not-allowed}.profile-practice-pagination span{color:var(--muted);font-size:12px}.profile-recent{margin-top:12px}.profile-recent h3{font-family:var(--font-display);color:var(--green);margin:0 0 9px;font-size:18px}.profile-recent .profile-empty{color:var(--muted)}.curriculum{border:1px solid var(--line);background:var(--card);border-radius:12px;margin-top:0;margin-bottom:46px;padding:34px 34px 46px;overflow:hidden;box-shadow:0 12px 38px #174f400d}.access-banner:empty{display:none}.access-banner{background:var(--green-bright);color:var(--green);border:1px solid #b8d5c8;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:12px 15px;display:flex}.access-banner p{margin:0;font-size:12px;line-height:1.5}.access-banner button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:5px;flex:none;padding:7px 10px;font-size:12px}.curriculum-head h2{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(32px,4vw,48px)}.curriculum-head{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.curriculum-head h2{margin:0}.course-stats{border:1px solid var(--line);background:var(--card);text-align:center;min-width:130px;padding:14px}.course-stats strong,.course-stats span{display:block}.course-stats strong{color:var(--green);font-size:22px}.course-stats span{color:var(--muted);letter-spacing:.08em;margin-top:3px;font-size:11px}.course-center-panel{flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:clip}.learning-center-layout.is-course-module{padding-top:0}.pronunciation-course-panel{flex-direction:column;width:100%;min-width:0;height:100%;max-height:100%;display:flex;overflow:hidden}.pronunciation-course-body{flex:1;grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(240px,320px);align-items:stretch;gap:12px;min-width:0;min-height:0;display:grid}.pronunciation-course-tree,.pronunciation-course-video,.pronunciation-course-subtitles{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;min-width:0;min-height:0;display:flex}.pronunciation-course-tree-scroll,.pronunciation-course-subtitles-scroll{flex:1;min-height:0;padding:8px;overflow:auto}.pronunciation-course-tree-widget{width:100%}.pronunciation-course-status{color:var(--muted);text-align:left;margin:0;padding:16px 8px;font-size:13px}.pronunciation-course-status.is-error{color:#b45309}.pronunciation-course-video{padding:12px 14px}.pronunciation-course-video-head{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.pronunciation-course-video-head h3{min-width:0;font-family:var(--font-display);margin:0;font-size:20px;line-height:1.35}.pronunciation-course-player-wrap{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.pronunciation-course-player{background:#101816;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.pronunciation-course-player video{object-fit:contain;width:100%;max-height:100%;display:block}.pronunciation-course-media-overlay{z-index:1;color:#ffffffe0;text-align:center;background:#101816b8;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.pronunciation-course-media-overlay.is-error{color:#fecaca}.pronunciation-course-video-subtitles{z-index:2;pointer-events:none;text-align:center;background:linear-gradient(#0000 0%,#00000047 45%,#0000009e 100%);flex-direction:column;align-items:center;gap:8px;padding:28px 24px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.pronunciation-course-video-subtitle{text-shadow:0 1px 3px #000000e6,0 0 16px #000000a6;max-width:min(94%,820px);margin:0;line-height:1.4}.pronunciation-course-video-subtitle.is-en{color:#fff;letter-spacing:.01em;font-size:clamp(22px,3vw,34px);font-weight:700}.pronunciation-course-video-subtitle.is-zh{color:#fffffff5;font-size:clamp(17px,2.2vw,24px);font-weight:500}.pronunciation-course-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pronunciation-course-play-toggle{width:36px;height:36px;color:var(--green);cursor:pointer;background:#d9eee4e0;border:1px solid #2f8f7047;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pronunciation-course-play-toggle svg{fill:currentColor;width:18px;height:18px}.pronunciation-course-play-toggle:disabled{opacity:.45;cursor:not-allowed}.pronunciation-course-rate select{min-width:72px;height:36px;color:var(--green);background:#d9eee4e0;border-color:#2f8f7047}.pronunciation-course-placeholder.is-inline{border-radius:10px;flex:1;min-height:280px;margin:0}.pronunciation-course-control-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.pronunciation-course-control-btn:disabled{opacity:.45;cursor:not-allowed}.pronunciation-course-progress{cursor:pointer;background:#2f8f7029;border-radius:999px;flex:1;min-width:120px;height:6px}.pronunciation-course-progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.pronunciation-course-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.pronunciation-course-placeholder{min-height:280px;color:var(--muted);text-align:center;background:#f4faf6b8;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.pronunciation-course-placeholder.is-locked button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}.pronunciation-course-placeholder.is-locked button:disabled{opacity:.6;cursor:not-allowed}.pronunciation-course-subtitles-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 12px 8px;display:flex}.pronunciation-course-subtitles-title{flex-direction:column;gap:4px;min-width:0;display:flex}.pronunciation-course-subtitle-hint{color:#7a968d;font-size:11px;line-height:1.3}.pronunciation-course-subtitle-toggles{flex-shrink:0;gap:6px;display:flex}.pronunciation-course-subtitle-toggles.is-inline{margin-left:auto}.pronunciation-course-subtitle-toggle{color:var(--muted);cursor:pointer;background:#fff;border:1px solid #2f8f703d;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.2}.pronunciation-course-subtitle-toggle.is-active{color:var(--green);background:#d9eee4e0;border-color:#2f8f706b}.pronunciation-course-subtitle-toggle:disabled{opacity:.45;cursor:not-allowed}.pronunciation-course-control-btn.is-primary{color:var(--green);background:#d9eee4e0;border-color:#2f8f7052}.pronunciation-course-subtitle-text.is-en{color:#1d4ed8;font-size:15px;font-weight:600;line-height:1.5}.pronunciation-course-subtitle-text.is-zh{color:var(--ink);font-size:13px;line-height:1.55}.pronunciation-course-subtitles-head strong{color:var(--green);font-size:14px}.pronunciation-course-subtitles-head span{color:var(--muted);font-size:12px}.pronunciation-course-subtitle-list{margin:0;padding:0;list-style:none}.pronunciation-course-subtitle-list li+li{border-top:1px solid #dddedacc}.pronunciation-course-subtitle-item{cursor:pointer;flex-direction:column;gap:6px;padding:10px 8px;display:flex}.pronunciation-course-subtitle-item.is-active{background:#d9eee4b8}.pronunciation-course-subtitle-text.is-tokenized{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0}.pronunciation-course-subtitle-token.is-word{cursor:pointer;border-radius:3px}.pronunciation-course-subtitle-token.is-word:hover{background:#1d4ed81a}.pronunciation-course-subtitle-token.is-highlighted{background:#1d4ed82e;box-shadow:inset 0 -2px #1d4ed873}.pronunciation-course-subtitle-text.is-selectable{-webkit-user-select:none;user-select:none;cursor:default;margin:0}.pronunciation-course-subtitle-text.is-zh{cursor:default;margin:0}.pronunciation-course-subtitle-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.pronunciation-course-subtitle-text{color:var(--ink);line-height:1.55}.pronunciation-course-subtitle-list li.is-active .pronunciation-course-subtitle-text{color:var(--green);font-weight:600}.subtitle-word-translation-popover{z-index:5000;pointer-events:auto;background:#fffffffa;border:1px solid #2f8f7047;border-radius:10px;max-width:min(280px,100vw - 24px);padding:10px 12px;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 28px #10181629}.subtitle-word-translation-popover strong{color:#1d4ed8;font-size:15px;line-height:1.4;display:block}.subtitle-word-translation-popover p{margin:6px 0 0;font-size:13px;line-height:1.5}.subtitle-word-translation-popover p.is-result{color:var(--ink)}.subtitle-word-translation-popover p.is-hint,.subtitle-word-translation-popover p.is-loading{color:var(--muted)}.course-center-head{flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:10px;display:flex}.course-center-head h2{margin:0}.course-center-head .eyebrow{margin-bottom:4px}.course-center-count{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.course-tree-card{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-direction:column;height:100%;min-height:0;padding:8px;display:flex}.course-tree-scroll{flex:1;min-height:0;overflow:auto}.course-tree-status{color:var(--muted);text-align:center;margin:0;padding:16px 12px;font-size:12px}.course-tree-status.is-error{color:#b45309}.course-tree{--el-tree-node-hover-bg-color:#d9eee473;--el-tree-text-color:var(--ink);--el-tree-expand-icon-color:var(--green);width:100%;min-width:0;font-size:15px}.course-tree .el-tree-node__content{border-radius:6px;max-width:100%;height:auto;min-height:36px;padding-right:6px;overflow:hidden}.course-tree .el-tree-node__content .el-tooltip__trigger{min-width:0;max-width:100%;display:block}.course-tree :is(.el-tree-node.is-current>.el-tree-node__content){box-shadow:inset 3px 0 0 var(--green);background:#d9eee4f2!important}.course-tree-node{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.35;display:block;overflow:hidden}.course-tree-node.is-track{color:var(--green);font-size:15px;font-weight:700}.course-tree-node.is-module{color:var(--ink);font-size:15px;font-weight:600}.course-tree-node.is-listening,.course-tree-node.is-lesson{color:var(--muted);font-size:14px}.course-tree-node.is-lesson.completed{color:var(--green)}.course-tree-node.is-lesson.completed:after{content:" · 已完成";color:#7a968d;font-size:12px}.course-tree-node.is-lesson.locked:after{content:" · 锁定";color:#b98643;font-size:12px}.course-tree-node.is-review{color:var(--green);font-size:14px;font-weight:600}.course-tree-node.selected{color:var(--green);font-weight:700}.course-center-body{flex:1;grid-template-columns:minmax(160px,228px) minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;min-height:0;display:grid}.course-center-body.is-lesson-layout,.course-center-body.is-lesson-layout.pronunciation-course-body{grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(240px,320px)}.course-center-body.is-lesson-layout .course-tree-card,.course-center-body.is-lesson-layout .pronunciation-course-tree{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;min-width:0;height:100%;min-height:0;padding:0;display:flex}.course-center-body.is-lesson-layout .pronunciation-course-tree-scroll{flex:1;min-height:0;padding:8px;overflow:auto}.course-center-body.is-lesson-layout .pronunciation-course-video,.course-center-body.is-lesson-layout .pronunciation-course-subtitles{min-height:0}.course-lesson-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;height:100%;min-height:0;padding:14px 16px;display:flex;overflow:clip}.course-lesson-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex}.course-lesson-empty h3{font-family:var(--font-display);margin:0}.course-lesson-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.course-lesson-head h3{min-width:0;font-family:var(--font-display);flex:0 auto;margin:0;font-size:22px}.course-lesson-head-meta{text-align:right;flex-direction:column;flex:52%;align-items:flex-end;gap:6px;min-width:0;display:flex}.course-lesson-path{max-width:100%;color:var(--muted);-webkit-line-clamp:2;line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.course-lesson-duration{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.course-lesson-head .eyebrow{margin-bottom:4px}.course-lesson-meta{border:1px solid var(--line);background:var(--green-bright);max-width:240px;color:var(--green);text-align:center;border-radius:999px;flex:none;padding:6px 10px;font-size:11px;line-height:1.4}.course-lesson-active{flex-direction:column;flex:1;min-height:0;display:flex}.course-listening-panel .course-listening-active{position:relative}.course-listening-panel .course-listening-body{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow:hidden}.course-listening-player-row{--listening-toolbar-height:40px;min-width:0;height:var(--listening-toolbar-height);flex-direction:row;flex-shrink:0;align-items:stretch;gap:12px;display:flex}.course-listening-player{flex:0 40%;min-width:220px;max-width:360px;height:100%}.course-listening-player audio{display:none}.course-listening-player-controls{border:1px solid var(--line);box-sizing:border-box;background:#fffefbf2;border-radius:10px;align-items:center;gap:8px;width:100%;height:100%;padding:0 10px;display:flex}.course-listening-play-toggle{width:28px;height:28px;color:var(--green);cursor:pointer;background:#d9eee4e0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.course-listening-play-toggle svg{fill:currentColor;width:16px;height:16px}.course-listening-play-toggle:disabled{opacity:.45;cursor:not-allowed}.course-listening-progress{cursor:pointer;background:#2f8f7029;border-radius:999px;flex:1;min-width:0;height:6px}.course-listening-progress.is-disabled{cursor:default;opacity:.72}.course-listening-progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.course-listening-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px}.course-listening-rate select{min-width:58px;height:28px;color:var(--green);cursor:pointer;background:#d9eee4e0;border:1px solid #2f8f7047;border-radius:8px;padding:0 6px;font-size:11px;font-weight:600}.course-listening-rate select:disabled{opacity:.45;cursor:not-allowed}.course-listening-mode-toggle{background:0 0;border:none;border-radius:0;flex:1 1 0;gap:6px;min-width:0;height:100%;padding:0;display:flex}.course-listening-mode-btn{border:1px solid var(--line);min-width:108px;height:100%;color:var(--muted);cursor:pointer;background:#fffefbe6;border-radius:10px;flex:1;padding:0 18px;font-size:13px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.course-listening-mode-btn:hover{color:var(--green);border-color:#174f4047}.course-listening-mode-btn.is-active{background:var(--green-bright);color:var(--green);border-color:#174f4059}.course-listening-download-btn{min-width:64px;height:100%;color:var(--green);cursor:pointer;white-space:nowrap;background:#d9eee48c;border:1px solid #174f4047;border-radius:10px;flex:none;padding:0 14px;font-size:13px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s}.course-listening-download-btn:hover:not(:disabled){background:var(--green-bright);border-color:#174f406b}.course-listening-download-btn:disabled{opacity:.55;cursor:not-allowed}.course-listening-subtitles{border:1px solid var(--line);background:#fffefbf2;border-radius:10px;flex-direction:column;flex-shrink:0;gap:6px;padding:8px 10px;display:flex}.course-listening-subtitles-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-listening-subtitles-head strong{font-size:14px}.course-listening-subtitle-toggles{gap:6px;display:inline-flex}.course-listening-subtitle-toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.course-listening-subtitle-toggle.is-active{background:var(--green-bright);color:var(--green);border-color:#174f4059}.course-listening-subtitle-toggle:disabled{opacity:.45;cursor:not-allowed}.course-listening-subtitle-display{text-align:center;background:#f4faf6b8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:36px;padding:6px 8px;display:flex}.course-listening-subtitle-line{text-align:center;width:100%;margin:0;line-height:1.45}.course-listening-subtitle-line+.course-listening-subtitle-line{margin-top:4px}.course-listening-subtitle-line.is-en{font-size:13px}.course-listening-subtitle-line.is-zh,.course-listening-subtitle-line.is-placeholder{color:var(--muted);font-size:12px}.course-listening-subtitle-display .course-listening-status{text-align:center;width:100%;padding:4px 0}.course-listening-questions{border:1px solid var(--line);background:#fffefbb8;border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex}.course-listening-questions-head{border-bottom:1px solid var(--line);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:44px;min-height:44px;padding:0 12px;display:flex}.course-listening-questions-head>div{align-items:center;gap:8px;min-height:30px;display:flex}.course-listening-questions-meta{white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;flex:1;align-items:center;gap:8px;min-width:0;height:30px;display:flex;overflow-x:auto}.course-listening-questions-meta::-webkit-scrollbar{display:none}.course-listening-answer-stat{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:600}.course-listening-questions-head strong{flex-shrink:0;font-size:14px}.course-listening-questions-head span{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.course-listening-answer-stat.is-correct{color:var(--green)}.course-listening-answer-stat.is-wrong{color:#b45309}.course-listening-test-countdown-float-wrap{z-index:30;pointer-events:none;position:absolute;top:10px;left:50%;transform:translate(-50%)}.course-listening-test-countdown-float{--countdown-drop-width:84px;--countdown-drop-height:108px;width:var(--countdown-drop-width);height:var(--countdown-drop-height);clip-path:path("M42 1 C64 1 84 18 84 38 C84 58 42 106 42 106 C42 106 0 58 0 38 C0 18 20 1 42 1 Z");background-image:linear-gradient(165deg, #3d9a82 0%, var(--green) 45%, #123f34 100%);box-shadow:none;filter:drop-shadow(0 8px 18px #174f4057);color:#fff;pointer-events:none;background-position:0 40%;background-size:220% 220%;border:none;justify-content:center;align-items:flex-start;padding-top:10px;animation:2.4s ease-in-out infinite course-listening-countdown-gradient;display:flex}.course-listening-test-countdown-float-body{flex-direction:column;align-items:center;gap:5px;width:100%;display:flex}.course-listening-test-countdown-float-main{flex-shrink:0;width:44px;height:28px;position:relative}.course-listening-test-countdown-float-value{color:#fff;text-align:center;text-shadow:0 1px 2px #0000002e;font-variant-numeric:tabular-nums;width:100%;font-size:27px;font-weight:800;line-height:1;display:block}.course-listening-test-countdown-float-unit{color:#ffffffeb;font-size:16px;font-weight:700;line-height:1;position:absolute;bottom:0;right:-2px}.course-listening-test-countdown-float-labels{flex-direction:column;align-items:center;gap:2px;line-height:1.15;display:flex}.course-listening-test-countdown-float-labels span{color:#fffffff0;letter-spacing:.06em;white-space:nowrap;font-size:11px;font-weight:700}.course-listening-test-countdown-float.is-urgent{background-image:linear-gradient(165deg,#f87171 0%,#c62828 45%,#991b1b 100%);animation:1.3s ease-in-out infinite course-listening-countdown-gradient-urgent}@keyframes course-listening-countdown-gradient{0%,to{filter:drop-shadow(0 6px 14px #174f404d);background-position:0 35%}50%{filter:drop-shadow(0 10px 26px #174f4080);background-position:100% 65%}}@keyframes course-listening-countdown-gradient-urgent{0%,to{filter:drop-shadow(0 6px 16px #c6282861);background-position:0 35%}50%{filter:drop-shadow(0 12px 30px #c6282894);background-position:100% 65%}}.course-listening-questions-scroll.is-test-waiting{opacity:.58;pointer-events:none}.course-listening-questions-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:84px;height:30px;display:flex}.course-listening-reset{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.course-listening-reset:hover{color:var(--green);border-color:#174f4047}.course-listening-submit{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.course-listening-submit:disabled{opacity:.55;cursor:not-allowed}.course-listening-submit-summary{color:#b45309;margin:0;padding:8px 12px 0;font-size:13px;font-weight:600}.course-listening-submit-summary.is-passed{color:var(--green)}.course-listening-questions-scroll{flex:1;min-height:0;padding:10px 12px 12px;overflow:auto}.course-listening-status{color:var(--muted);margin:0;padding:12px 4px;font-size:13px}.course-listening-status.is-error{color:#b45309}.course-listening-question-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.course-listening-question-item{border:1px solid var(--line);background:#fffefbe6;border-radius:8px;padding:10px 12px}.course-listening-question-item.is-correct{background:#f4faf6f2;border-color:#174f4061}.course-listening-question-item.is-wrong{background:#fffbf5f2;border-color:#b986436b}.course-listening-question-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.course-listening-question-type{color:var(--green);background:#d9eee4b3;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.course-listening-question-stem{color:var(--ink);margin:0 0 8px;font-size:14px;line-height:1.6}.course-listening-question-index{color:var(--green);margin-right:4px;font-weight:700}.course-listening-option-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.course-listening-option-btn{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;transition:border-color .2s,background-color .2s;display:flex}.course-listening-option-btn:hover{background:#d9eee459;border-color:#174f4047}.course-listening-option.is-selected .course-listening-option-btn{background:#d9eee48c;border-color:#174f406b}.course-listening-option.is-correct .course-listening-option-btn{background:#d9eee4d1;border-color:#174f408c}.course-listening-option.is-wrong .course-listening-option-btn{background:#fff4e5e6;border-color:#b986438c}.course-listening-option-key{min-width:18px;color:var(--green);flex:none;font-size:12px;font-weight:700}.course-listening-option-text{flex:1;min-width:0;font-size:13px;line-height:1.5}.course-listening-explanation{color:var(--muted);background:#d9eee473;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:12px;line-height:1.55}.course-listening-question-stem.is-fill-blank{align-items:flex-start;gap:4px;display:flex}.course-listening-fill-blank-inline{word-break:break-word;flex:1;min-width:0;line-height:1.8}.course-listening-inline-blank{width:auto;min-width:72px;max-width:min(180px,42vw);color:var(--ink);font:inherit;vertical-align:baseline;background:#d9eee459;border:none;border-bottom:2px solid #174f4073;border-radius:0;margin:0 2px;padding:2px 8px;line-height:1.5;display:inline-block}.course-listening-inline-blank:focus{border-bottom-color:var(--green);background:#d9eee49e;outline:none}.course-listening-inline-blank:disabled{opacity:.72;background:#f5f3edcc}.course-listening-inline-blank.is-correct{background:#d9eee4d1;border-bottom-color:#174f40bf}.course-listening-inline-blank.is-wrong{background:#fff4e5eb;border-bottom-color:#b98643bf}.course-listening-inline-blank-wrap{vertical-align:baseline;flex-direction:column;align-items:flex-start;margin:0 2px;display:inline-flex}.course-listening-inline-blank-wrap .course-listening-inline-blank{margin:0}.course-listening-blank-answer{margin-top:2px;font-size:11px;line-height:1.4;display:block}.course-listening-blank-answer.is-correct{color:var(--green)}.course-listening-blank-answer.is-wrong{color:#b45309}.course-listening-blank-list{flex-direction:column;gap:8px;display:flex}.course-listening-blank-item{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.course-listening-blank-item input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.course-listening-blank-item input:disabled{background:#f5f3edcc}.course-lesson-content{overscroll-behavior:none;overflow-anchor:none;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow:clip}.course-lesson-top-row{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;display:grid;overflow:clip}.course-video-section{overflow-anchor:none;flex:none;grid-area:1/1/3;min-width:0;height:auto;max-height:none;overflow:clip}.course-practice-section{overflow-anchor:none;grid-area:1/2;min-width:0;min-height:0;overflow:clip}.course-practice-section .course-subtitle-panel{flex-direction:column;flex:none;justify-content:flex-start;min-height:0;display:flex}.course-lesson-top-row>.course-analysis-result{grid-area:2/2;margin-bottom:0}.course-video-section,.course-practice-section,.course-lesson-top-row>.course-analysis-result{border:1px solid var(--line);background:#fffefb;border-radius:10px;flex-direction:column;min-height:0;margin-top:0;padding:10px 12px;display:flex}.course-practice-section{overflow-anchor:none;overflow:clip}.course-practice-section .course-practice-head{flex-shrink:0}.course-practice-body{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.course-video-head,.course-practice-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.course-video-head strong,.course-practice-head strong{color:var(--green);font-size:13px}.course-video-head-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.course-lock-badge,.course-practice-hint{color:#b98643;letter-spacing:.08em;font-size:11px;font-weight:700}.course-practice-head-title{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.course-practice-counts{color:var(--muted,#6b7280);letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:600}.course-practice-subtitle-picker-btn{color:var(--green);white-space:nowrap;cursor:pointer;background:#2f8f7014;border:1px solid #2f8f7059;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s}.course-practice-subtitle-picker-btn:hover:not(:disabled){background:#2f8f7029;border-color:#2f8f708c}.course-practice-subtitle-picker-btn:disabled{opacity:.45;cursor:not-allowed}.course-practice-subtitle-picker-popper.el-dropdown__popper,.course-practice-subtitle-picker-popper{max-width:min(420px,72vw)}.course-practice-subtitle-picker-menu{overscroll-behavior:contain;max-width:min(420px,72vw);max-height:min(360px,50vh);overflow:hidden auto}.course-practice-subtitle-picker-menu .el-dropdown-menu__item{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.45;overflow:hidden}.course-practice-subtitle-picker-menu .el-dropdown-menu__item.is-active{color:var(--green);font-weight:600}.course-media-type-badge,.pronunciation-course-media-badge,.course-media-download{box-sizing:border-box;height:22px;color:var(--green);white-space:nowrap;background:#2f8f701f;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.course-media-download{cursor:pointer;transition:background .15s,color .15s}.course-media-download:hover:not(:disabled){background:#2f8f7033}.course-media-download:disabled{opacity:.55;cursor:not-allowed}.course-media-download-wrap{flex-direction:row;align-items:center;gap:6px;min-width:0;display:inline-flex}.course-media-download-meta{flex-direction:row;align-items:center;gap:6px;min-width:0;max-width:148px;height:22px;display:inline-flex}.course-media-download-bar{background:#2f8f7029;border-radius:999px;flex:0 0 40px;width:40px;height:3px;overflow:hidden}.course-media-download-bar>i{border-radius:inherit;background:var(--green);height:100%;transition:width .2s;display:block}.course-media-download-hint{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;line-height:1;overflow:hidden}.course-video-player.is-audio{grid-template-rows:1fr auto;display:grid}.course-audio-visual{color:#eef7f2;text-align:center;background:linear-gradient(#17342b 0%,#102820 100%);border-radius:8px;place-content:center;gap:8px;height:100%;min-height:0;padding:16px;display:grid}.course-audio-visual-icon{font-size:28px;line-height:1}.course-video-player audio{display:none}.course-video-stack{flex-direction:column;flex:none;gap:8px;min-height:0;display:flex}.course-media-overlay{z-index:3;color:#ffffffeb;text-align:center;background:#111111b8;justify-content:center;align-items:center;margin:0;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.course-media-overlay.is-error{color:#fca5a5}.course-media-waveform{border:1px solid var(--line);background:#0f1419;border-radius:8px;flex-shrink:0;width:100%;min-height:56px;position:relative;overflow:visible}.course-media-waveform.is-loading{justify-content:center;align-items:center;min-height:56px;display:flex;overflow:hidden}.course-media-waveform-state{color:#8b9cb3;font-size:12px}.course-media-waveform-wrap{cursor:pointer;padding:6px 10px}.course-media-waveform-wrap.is-near-playhead,.course-media-waveform-wrap.is-dragging-playhead{cursor:ew-resize}.course-media-waveform-wrap:focus-visible{outline-offset:-2px;outline:2px solid #4f8cff}.course-media-waveform-wrap canvas{touch-action:none;border-radius:4px;width:100%;height:44px;display:block}.course-media-waveform-zoom{z-index:1200;pointer-events:none;background:#1a2332;border:1px solid #2d3a4f;border-radius:8px;padding:8px 10px 10px;position:fixed;box-shadow:0 8px 32px #00000059}.course-media-waveform-zoom canvas{border-radius:4px;width:100%;height:72px;display:block}.course-media-waveform-zoom-label{color:#8b9cb3;text-align:center;font-variant-numeric:tabular-nums;margin-top:6px;font-size:11px;line-height:1.2;display:block}.course-video-controls{flex-shrink:0;justify-content:center;align-items:center;gap:16px;display:flex}.course-video-controls button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-flex}.course-video-controls button svg{fill:currentColor;width:16px;height:16px}.course-video-controls button:disabled{opacity:.38;cursor:not-allowed}.course-video-controls .course-video-play{border-color:var(--green);color:var(--green)}.course-video-rate{align-items:center;margin:0;display:inline-flex}.course-video-rate select{border:1px solid var(--line);min-width:68px;height:32px;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border-radius:999px;padding:0 8px;font-size:12px;font-weight:600;line-height:1}.course-video-rate select:focus{border-color:var(--green);outline:none}.course-video-rate select:disabled{opacity:.38;cursor:not-allowed}.course-video-controls .course-video-stop{color:#c45c5c;border-color:#c45c5c}.course-video-controls .course-video-volume{color:#222;border-color:#222}.course-video-volume-wrap{align-items:center;display:inline-flex;position:relative}.course-video-volume-panel{z-index:2;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:8px;padding:6px 10px;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 14px #0000001f}.course-video-volume-panel input[type=range]{accent-color:#222;cursor:pointer;width:96px;margin:0;display:block}.course-video-player{background:#111;border-radius:8px;flex:0 0 240px;width:100%;height:240px;min-height:240px;max-height:240px;display:flex;position:relative;overflow:hidden}.course-video-progress{z-index:1;pointer-events:none;background:linear-gradient(#0000,#000000b8);padding:10px 10px 8px;position:absolute;bottom:0;left:0;right:0}.course-video-progress-track{pointer-events:auto;cursor:pointer;background:#ffffff47;border-radius:999px;height:4px}.course-video-progress-track i{border-radius:inherit;background:var(--green);pointer-events:none;height:100%;display:block}.course-video-progress-time{color:#ffffffeb;text-align:right;margin-top:4px;font-size:10px;line-height:1.2;display:block}.course-video-player video{object-fit:contain;background:#111;width:100%;height:100%;display:block;position:absolute;inset:0}.course-video-locked{text-align:center;background:linear-gradient(#faf7f0 0%,#fffefb 100%);border:1px dashed #d8c4a0;border-radius:8px;flex:0 0 240px;place-content:center;gap:8px;width:100%;height:240px;min-height:240px;max-height:240px;padding:12px;display:grid}.course-video-locked p{color:var(--ink);margin:0;font-weight:600}.course-video-locked small{color:var(--muted);line-height:1.6}.course-video-locked button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-self:center;margin-top:4px;padding:10px 16px}.course-practice-section.locked{opacity:.72}.course-subtitle-panel{border:1px solid var(--line);background:var(--green-bright);border-radius:8px;margin-bottom:0;padding:8px 10px}.course-subtitle-row{flex:1;align-items:center;gap:10px;min-height:0;display:flex}.course-subtitle-recorder{text-align:inherit;border:0;border-radius:0;flex-direction:column;flex:none;align-items:center;gap:2px;margin-top:0;margin-left:auto;padding:0;display:flex}.course-subtitle-record{flex:none;align-self:center;margin-left:0}.course-recording-duration{color:#c45c5c;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;min-width:2.5em;font-size:11px;font-weight:700;line-height:1}.course-subtitle-record span{background:var(--green);border-radius:50%;width:8px;height:8px;margin:auto;display:block}.course-subtitle-record.recording span{background:#c45c5c}.course-recording-actions{border-top:1px solid #9bc2b18c;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:8px;display:flex}.course-recording-actions>span{color:var(--green);white-space:nowrap;flex:none;font-size:11px;font-weight:600}.course-recording-actions-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.course-recording-actions-buttons button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:14px}.course-recording-actions-buttons button:disabled{opacity:.45;cursor:not-allowed}.course-recording-actions-buttons button:nth-child(2){border-color:var(--green);background:var(--green);color:#fff}.course-subtitle-play{flex:none;align-self:center;width:28px;height:28px;margin-top:0;font-size:10px}.course-subtitle-copy{flex-direction:column;flex:1;align-self:center;gap:8px;min-width:0;display:flex}.course-subtitle-text{font-family:var(--font-display);word-break:break-word;overflow-wrap:break-word;white-space:normal;margin:0;font-size:clamp(13px,1.2vw,16px);line-height:1.35}.subtitle-audio-waveform{background:#0f1419;border:1px solid #2d3a4fa6;border-radius:6px;width:100%;min-height:36px;overflow:hidden}.subtitle-audio-waveform.is-loading{justify-content:center;align-items:center;min-height:36px;display:flex}.subtitle-audio-waveform-state{color:#8b9cb3;font-size:11px}.subtitle-audio-waveform-wrap{cursor:pointer}.subtitle-audio-waveform-wrap:focus-visible{outline-offset:-2px;outline:2px solid #4f8cff}.subtitle-audio-waveform-wrap canvas{touch-action:none;width:100%;height:36px;display:block}.course-subtitle-play.playing{color:#fff;background:#4f8cff2e;border-color:#4f8cff8c}.course-practice-section .course-recorder-compact{text-align:left;align-items:center;gap:10px;margin-top:0;margin-bottom:10px;padding:8px 10px;display:flex}.course-practice-section .course-recorder-compact .record-button{width:34px;height:34px;margin:0}.course-practice-section .course-recorder-compact .record-button span{width:10px;height:10px}.course-practice-section .course-recorder-compact p{margin:0;font-size:12px}.course-practice-section .course-recorder.recording .record-button span{background:#c45c5c}.course-record-subtitle-play{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.course-record-subtitle-play span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.4;display:block;overflow:hidden}.course-record-subtitle-play small{color:var(--green);margin-top:4px;font-size:12px;font-weight:600;line-height:1.2;display:block}.course-record-subtitle-play:disabled{cursor:default}.course-record-subtitle-play:disabled small,.course-record-audio-player,.course-subtitle-audio-player,.course-analysis-audio-element{display:none}.course-analysis-audio-dialog .el-dialog__body{padding-top:8px}.course-analysis-audio-player{gap:12px;display:grid}.course-analysis-audio-time{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.course-analysis-audio-subtitle{color:var(--ink);margin:0;font-size:18px;font-weight:600;line-height:1.55}.course-analysis-audio-controls{align-items:center;gap:12px;display:flex}.course-analysis-audio-play-btn{min-width:72px;color:var(--green);cursor:pointer;background:#d9eee4a6;border:1px solid #2f6b5759;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700}.course-analysis-audio-play-btn:hover:not(:disabled){background:#d9eee4f2}.course-analysis-audio-play-btn:disabled{opacity:.5;cursor:not-allowed}.course-analysis-audio-timecode{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.course-analysis-audio-state{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:18px 12px;font-size:14px}.course-analysis-audio-state.is-error{color:#b44}.course-analysis-audio-player .subtitle-audio-waveform-wrap{min-height:72px}.course-practice-analysis-dialog .el-dialog__body{flex-direction:column;max-height:min(86vh,920px);padding-top:4px;display:flex;overflow:hidden}.course-practice-analysis-state{color:var(--muted);text-align:center;margin:0;padding:24px 12px;font-size:14px}.course-practice-analysis-state.is-inline{text-align:left;padding:8px 0 0}.course-practice-analysis-state.is-error{color:#b44}.course-practice-analysis-body{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex;overflow:hidden}.course-practice-analysis-summary{z-index:2;background:#fff;flex:none;grid-template-columns:minmax(220px,.85fr) minmax(420px,1.35fr);align-items:stretch;gap:14px;display:grid}.course-practice-analysis-scroll{scrollbar-width:none;-ms-overflow-style:none;flex:auto;gap:14px;min-height:0;padding-right:2px;display:grid;overflow:hidden auto}.course-practice-analysis-scroll::-webkit-scrollbar{width:0;height:0;display:none}.course-practice-analysis-hero{background:#ffffffb8;border:1px solid #2f8f7029;border-radius:12px;align-content:start;gap:10px;min-width:0;height:100%;padding:14px 16px;display:grid}.course-practice-analysis-hero h4{color:var(--green);letter-spacing:.04em;margin:0;font-size:13px;font-weight:700}.course-practice-analysis-section{background:#ffffffb8;border:1px solid #2f8f7029;border-radius:12px;padding:14px 16px}.course-practice-analysis-section-radar{flex-direction:column;min-width:0;height:100%;padding:8px 10px;display:flex}.course-practice-analysis-section-radar .course-analysis-radar{flex:auto;align-items:stretch;height:100%;min-height:0}.course-practice-analysis-section-radar .course-analysis-radar-chart{height:100%;min-height:0}.course-practice-analysis-section-audio,.course-practice-analysis-section-intonation,.course-practice-analysis-section-pause-table{padding-bottom:12px}.course-practice-analysis-section-head .intonation-panel-hint{color:var(--muted);margin:0;font-size:12px;font-weight:600}.intonation-compare-chart{gap:8px;display:grid}.intonation-compare-chart-body{align-items:stretch;gap:6px;display:flex}.intonation-compare-chart-main{flex:auto;min-width:0;position:relative}.intonation-compare-chart-canvas{background:#fff;border-radius:8px;width:100%;height:310px}.intonation-compare-chart-loading{color:#2f6b57;margin:0;font-size:11px;position:absolute;top:6px;right:8px}.intonation-compare-chart-controls{flex-direction:column;flex:none;justify-content:space-around;align-items:center;gap:8px;min-width:64px;padding:4px 0 22px;display:flex}.intonation-compare-chart-control{flex-direction:column;align-items:center;gap:4px;display:flex}.intonation-compare-chart-control.is-reference .course-analysis-audio-play-btn{background:#3db892}.intonation-compare-chart-control.is-reference .course-analysis-audio-play-btn:hover:not(:disabled){background:#2f9a7a}.intonation-compare-chart-control.is-practice .course-analysis-audio-play-btn{background:#5b9cf5}.intonation-compare-chart-control.is-practice .course-analysis-audio-play-btn:hover:not(:disabled){background:#4588e6}.intonation-compare-chart-control .course-analysis-audio-play-btn.is-icon{color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;font-size:13px;line-height:1;display:inline-flex}.intonation-compare-chart-control .course-analysis-audio-timecode{color:#2f6b57;font-variant-numeric:tabular-nums;text-align:center;max-width:64px;font-size:10px;line-height:1.25}.intonation-compare-chart-summary{color:#1f4a40;background:#d9eee48c;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.intonation-compare-chart-summary-text,.intonation-compare-chart-summary .el-tooltip__trigger,.intonation-compare-chart-summary>span{display:inline}.intonation-compare-chart-summary .course-analysis-score-help{vertical-align:middle;margin:0 0 0 4px;display:inline-flex;position:relative;top:-1px}.course-practice-analysis-subtitle{color:var(--ink);overflow-wrap:anywhere;word-break:break-word;white-space:normal;margin:0;font-size:17px;font-weight:600;line-height:1.55}.course-practice-analysis-advice{color:#2f6b57;overflow-wrap:anywhere;word-break:break-word;white-space:normal;background:#d9eee473;border-radius:8px;gap:6px;margin:0;padding:8px 12px;font-size:13px;line-height:1.55;display:grid}.course-practice-analysis-advice-item{display:block}.course-practice-analysis-section h4{color:var(--green);letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.course-practice-analysis-section-head{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:12px;display:flex}.course-practice-analysis-section-head h4{margin:0}.course-practice-analysis-section-head .course-analysis-score-help{flex-shrink:0}.course-practice-analysis-section-head .practice-word-phoneme-legend{color:var(--muted);font-size:11px;font-weight:600}.course-analysis-radar{grid-template-columns:148px minmax(0,1fr);align-items:start;gap:8px 12px;display:grid}.course-analysis-radar-aside{background:#e4eee861;border-radius:10px;align-content:start;gap:6px;padding:8px 10px;display:grid}.course-analysis-radar-total{gap:2px;display:grid}.course-analysis-radar-total-score{align-items:center;gap:8px;display:inline-flex}.course-analysis-radar-total-score :deep(.el-tooltip__trigger){align-items:center;display:inline-flex}.course-analysis-radar-total strong{color:var(--green);font-size:26px;line-height:1}.course-analysis-radar-total-label{color:var(--muted);font-size:12px;font-weight:700}.course-analysis-radar-total .course-analysis-score-help{flex-shrink:0;width:18px;height:18px;font-size:11px}.course-analysis-radar-rear-tone{border-top:1px solid #2f8f7029;gap:2px;padding-top:8px;display:grid}.course-analysis-radar-rear-tone-label{color:var(--muted);font-size:11px;font-weight:700}.course-analysis-radar-rear-tone strong{color:var(--ink);font-size:16px;font-weight:700}.course-analysis-dimension-list{border-top:1px solid #2f8f7029;gap:3px;margin:0;padding:4px 0 0;list-style:none;display:grid}.course-analysis-dimension-list li{justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:1.3;display:flex}.course-analysis-dimension-label{color:var(--muted)}.course-analysis-dimension-score{align-items:center;gap:6px;display:inline-flex}.course-analysis-dimension-list li strong{color:var(--ink);font-size:13px;font-weight:700}.course-analysis-score-help{width:16px;height:16px;color:var(--green);cursor:pointer;background:#d9eee48c;border:1px solid #2f8f7059;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.course-analysis-score-help:hover{background:var(--green-bright)}.course-analysis-score-help.is-disabled{opacity:.45;cursor:default;pointer-events:none}.course-analysis-score-explain h5{color:var(--green);margin:0 0 8px;font-size:13px;font-weight:700}.course-analysis-score-explain-summary,.course-analysis-score-explain-formula,.course-analysis-score-explain-result{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.course-analysis-score-explain-summary{margin-bottom:10px}.course-analysis-score-explain-steps{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.course-analysis-score-explain-steps li{background:#e4eee873;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 8px;font-size:12px;line-height:1.4;display:flex}.course-analysis-score-explain-steps li span{color:var(--ink)}.course-analysis-score-explain-steps li strong{color:var(--green);flex-shrink:0;font-weight:700}.course-analysis-score-explain-formula{margin-bottom:6px}.course-analysis-score-explain-result{color:var(--ink);font-weight:600}.course-analysis-score-explain-popper .course-analysis-score-explain{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2f8f7066 #e4eee866;max-height:min(320px,55vh);padding-right:2px;overflow:hidden auto}.course-analysis-radar-chart{width:100%;height:210px;min-height:200px}.stress-word-compare{justify-items:stretch;gap:10px;display:grid}.stress-word-compare-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2f8f7066 #e4eee866;background:#fff;border:1px solid #2f8f7047;border-radius:10px;width:100%;max-height:min(360px,48vh);overflow:auto;box-shadow:inset 0 1px #ffffffb3}.stress-word-compare-table{border-collapse:separate;border-spacing:0;color:#1a2a25;width:100%;min-width:920px;margin:0;font-size:12px;line-height:1.4}.stress-word-compare-table th,.stress-word-compare-table td{text-align:center;white-space:nowrap;vertical-align:middle;border-bottom:1px solid #2f8f7024;border-right:1px solid #2f8f7024;padding:7px 9px}.stress-word-compare-table th:last-child,.stress-word-compare-table td:last-child{border-right:0}.stress-word-compare-table th{z-index:2;color:#123830;letter-spacing:.02em;font-size:11px;font-weight:700;position:sticky}.stress-word-compare-table thead tr.is-group-row th{z-index:4;background:#e7f1eb;border-bottom:1px solid #2f8f7047;height:32px;top:0}.stress-word-compare-table thead tr.is-metric-row th{z-index:3;color:#2a433a;border-bottom:1px solid #2f8f7047;height:30px;font-weight:600;top:32px}.stress-word-compare-table th.is-group{letter-spacing:.06em;font-size:12px}.stress-word-compare-table th.is-meta,.stress-word-compare-table td.is-meta{background:#f7faf8}.stress-word-compare-table thead tr.is-group-row th.is-meta{z-index:5;background:#e7f1eb}.stress-word-compare-table thead tr.is-group-row th.is-pause-group{color:#0f3d30;background:#d5eae0}.stress-word-compare-table thead tr.is-group-row th.is-stress-group{color:#2f3d1f;background:#e3ebdc}.stress-word-compare-table thead tr.is-metric-row th.is-pause-group{background:#eaf5f0}.stress-word-compare-table thead tr.is-metric-row th.is-stress-group{background:#f1f5ea}.stress-word-compare-table tbody td.is-pause-group{background:#f4faf7}.stress-word-compare-table tbody td.is-stress-group{background:#f8faf4}.stress-word-compare-table .is-group-start{border-left:1.5px solid #2f8f7057}.stress-word-compare-table td{color:#1a2a25;font-variant-numeric:tabular-nums;font-weight:600}.stress-word-compare-table tbody tr:nth-child(2n) td.is-meta{background:#f1f6f3}.stress-word-compare-table tbody tr:nth-child(2n) td.is-pause-group{background:#eef7f2}.stress-word-compare-table tbody tr:nth-child(2n) td.is-stress-group{background:#f3f6ee}.stress-word-compare-table tbody tr:hover td.is-meta{background:#e8f2ec}.stress-word-compare-table tbody tr:hover td.is-pause-group{background:#e3f2ea}.stress-word-compare-table tbody tr:hover td.is-stress-group{background:#eef2e4}.stress-word-compare-table td.is-word,.stress-word-compare-table th.is-word{color:#10241e;min-width:72px;font-weight:700}.stress-word-compare-table td.is-index,.stress-word-compare-table th.is-index{color:#3d4f48;width:40px;font-weight:600}.stress-word-compare-table td.is-issue,.stress-word-compare-table th.is-issue{text-align:left;white-space:normal;color:#1a2a25;min-width:168px;max-width:260px;padding-left:12px;padding-right:12px}.stress-word-compare-table tbody tr.has-issue td{background:#fff7ed!important}.stress-word-compare-table tbody tr.has-issue td.is-issue{color:#8a3d08;font-weight:700;box-shadow:inset 3px 0 #d97706}.stress-word-compare-table tbody tr:last-child td{border-bottom:0}.stress-word-compare-note{color:#3d4f48;text-align:center;margin:0;font-size:11px;line-height:1.5}.pause-stress-report-summaries{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;display:grid}@media (width<=900px){.pause-stress-report-summaries{grid-template-columns:1fr}}.pause-stress-report-summary{color:#1f4a40;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.55;display:flex}.pause-stress-report-summary.is-pause{background:#eaf5f0;border-color:#2f8f7038}.pause-stress-report-summary.is-stress{color:#2f3d1f;background:#f1f5ea;border-color:#5a6e3c38}.pause-stress-report-summary.is-phoneme{color:#5c3d0a;background:#fff8eb;border-color:#b4781447;margin:0 0 10px}.pause-stress-report-summary-label{letter-spacing:.04em;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:40px;height:22px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.pause-stress-report-summary.is-pause .pause-stress-report-summary-label{color:#0f3d30;background:#d5eae0}.pause-stress-report-summary.is-stress .pause-stress-report-summary-label{color:#2f3d1f;background:#e3ebdc}.pause-stress-report-summary.is-phoneme .pause-stress-report-summary-label{color:#5c3d0a;background:#f3e2b8}.pause-stress-report-summary-text{flex:auto;min-width:0}.pause-stress-report-summary .course-analysis-score-help{flex:none;margin-top:1px}.pause-word-compare-table{min-width:760px}.pause-stress-word-compare-table{min-width:1080px}.practice-word-phoneme-panel{gap:8px;display:grid}.practice-word-phoneme-legend{gap:12px;display:flex}.practice-word-phoneme-legend i{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.practice-word-phoneme-legend i.is-practice{background:#15803d}.practice-word-phoneme-legend i.is-reference{background:#1d4ed8}.practice-word-phoneme-scroll{cursor:grab;scrollbar-width:thin;scrollbar-color:#2f8f7061 #e4eee859;-webkit-user-select:none;user-select:none;background:#ffffffeb;border:1px solid #2f8f7038;border-radius:8px;position:relative;overflow:auto hidden}.practice-word-phoneme-scroll::-webkit-scrollbar{height:7px}.practice-word-phoneme-scroll::-webkit-scrollbar-track{background:#e4eee859;border-radius:999px}.practice-word-phoneme-scroll::-webkit-scrollbar-thumb{background:#2f8f7061;border-radius:999px}.practice-word-phoneme-scroll::-webkit-scrollbar-thumb:hover{background:#2f8f708c}.practice-word-phoneme-scroll.is-dragging{cursor:grabbing}.practice-word-phoneme-scroll.is-dragging .practice-word-phoneme-track{opacity:.82}.practice-word-phoneme-scroll:before,.practice-word-phoneme-scroll:after{content:"";pointer-events:none;z-index:2;opacity:0;width:36px;transition:opacity .2s;position:absolute;top:0;bottom:7px}.practice-word-phoneme-scroll:before{background:linear-gradient(90deg,#ffffffeb,#fff0);left:0}.practice-word-phoneme-scroll:after{background:linear-gradient(270deg,#ffffffeb,#fff0);right:0}.practice-word-phoneme-scroll.can-scroll-left:before,.practice-word-phoneme-scroll.can-scroll-right:after{opacity:1}.practice-word-phoneme-scroll.is-dragging:before{background:linear-gradient(90deg,#ffffffc7,#fff0)}.practice-word-phoneme-scroll.is-dragging:after{background:linear-gradient(270deg,#ffffffc7,#fff0)}.practice-word-phoneme-track{flex-wrap:nowrap;gap:0;transition:opacity .18s;display:flex}.practice-word-phoneme-card{background:0 0;border:0;border-right:1px solid #2f8f7047;border-radius:0;flex:none;width:max-content;min-width:148px;max-width:min(400px,46vw);padding:10px 12px;transition:background .2s,box-shadow .2s}.practice-word-phoneme-card:hover{background:#e4eee89e;box-shadow:inset 0 0 0 1px #2f8f7033}.practice-word-phoneme-card:last-child{border-right:0}.practice-word-phoneme-card.has-vowel-issue{background:#fff7ed8c}.practice-word-title-row th{vertical-align:middle;padding:2px 4px 8px}.practice-word-title{color:var(--ink);letter-spacing:.02em;white-space:nowrap;transform-origin:0;font-size:17px;font-weight:800;line-height:1.25;transition:color .2s,transform .2s;display:inline-block}.practice-word-phoneme-card:hover .practice-word-title{color:var(--green);transform:scale(1.04)}.practice-word-title-row td{vertical-align:middle;padding:2px 4px 6px}.practice-word-play-cell{text-align:center}.practice-word-play-cell .practice-word-play-btn{margin:0 auto}.practice-word-play-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:8px;line-height:1;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.practice-word-play-btn:disabled{opacity:.35;cursor:not-allowed}.practice-word-play-btn.is-reference{color:#1d4ed8;background:#dbeafed9;border-color:#1d4ed840}.practice-word-play-btn.is-practice{color:#15803d;background:#dcfce7d9;border-color:#15803d40}.practice-word-play-btn.is-active{box-shadow:inset 0 0 0 1px}.practice-word-play-btn:not(:disabled):hover{filter:brightness(.96)}.practice-word-phoneme-scroll .practice-word-play-btn,.practice-word-phoneme-scroll .practice-word-title{-webkit-user-select:none;user-select:none}.practice-word-phoneme-scroll button{-webkit-user-select:none;user-select:none;cursor:pointer}.practice-word-meta-table{border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%;font-size:11px;line-height:1.35}.practice-word-meta-table th,.practice-word-meta-table td{vertical-align:top;text-align:left;word-break:break-word;padding:3px 6px}.practice-word-meta-table tbody tr:not(.practice-word-title-row) th{white-space:nowrap;width:auto;color:var(--green);font-weight:700}.practice-word-meta-table td.is-reference{color:#1d4ed8;background:#dbeafe8c;font-weight:600}.practice-word-meta-table td.is-practice{color:#15803d;background:#dcfce78c;font-weight:600}.practice-word-title-row td.is-reference{background:#dbeafe47}.practice-word-title-row td.is-practice{background:#dcfce747}.practice-word-meta-table td.is-reference+td.is-practice{border-left:1px solid #2f8f7029}.practice-word-phoneme-strip-wrap{border-top:1px dashed #2f8f7033;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 6px;margin-top:8px;padding-top:8px;display:grid}.practice-word-phoneme-strip-label{color:var(--green);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.35}.practice-word-phoneme-strip{flex-wrap:wrap;gap:4px;display:flex}.practice-word-phoneme-empty{color:var(--muted);margin-top:6px;font-size:11px}.practice-phoneme-chip{text-align:center;background:#fff;border:1px solid #9bc2b173;border-radius:6px;gap:2px;padding:4px 6px;display:grid}.practice-phoneme-chip.is-mismatch{background:#fef2f2f2;border-color:#dc26268c}.practice-phoneme-chip.is-vowel{background:#fffbebf2;border-color:#b478148c;box-shadow:0 0 0 1px #f59e0b38}.practice-phoneme-chip.is-vowel.is-mismatch{box-shadow:none;background:#fef2f2f2;border-color:#dc26268c}.practice-phoneme-chip.has-issue{background:#fff7edfa;border-color:#d97706b3;box-shadow:0 0 0 1px #d9770633}.practice-phoneme-chip.is-near-confuse:not(.is-mismatch){background:#fef3c7f5;border-color:#d97706bf}.practice-phoneme-chip.is-phoneme-replace{background:#fef2f2f2;border-color:#dc26268c}.practice-phoneme-chip-type{color:#8a5a12;letter-spacing:.04em;margin-top:1px;font-size:10px;font-weight:700;line-height:1.1;display:block}.practice-phoneme-chip.is-vowel .practice-phoneme-chip-reference,.practice-phoneme-chip.is-vowel .practice-phoneme-chip-practice{padding:2px 4px;font-size:13px;font-weight:800}.practice-phoneme-chip-reference,.practice-phoneme-chip-practice{white-space:nowrap;border-radius:3px;padding:1px 3px;font-family:Segoe UI,sans-serif;font-size:11px;line-height:1.25}.practice-phoneme-chip.is-vowel.is-vowel-hoverable{cursor:help}.practice-phoneme-chip.is-vowel.is-vowel-hoverable:hover{border-color:#b47814d1;box-shadow:0 0 0 1px #f59e0b57}.practice-vowel-formant-popover{--vowel-formant-panel-max-height:min(68vh, calc(100dvh - 72px));max-height:var(--vowel-formant-panel-max-height);overflow:hidden;border:1px solid #2f8f7047!important;border-radius:12px!important;padding:0!important;box-shadow:0 12px 32px #264a3929!important}.vowel-formant-analysis-panel{width:100%;max-width:620px;max-height:var(--vowel-formant-panel-max-height,min(68vh, calc(100dvh - 72px)));overscroll-behavior:contain;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scrollbar-width:thin;scrollbar-color:#2f8f706b transparent;background:#fff;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden auto}.vowel-formant-analysis-panel::-webkit-scrollbar{width:6px}.vowel-formant-analysis-panel::-webkit-scrollbar-thumb{background:#2f8f7061;border-radius:999px}.vowel-formant-analysis-header{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffffa;border-bottom:1px solid #2f8f701f;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;padding:14px 16px 12px;display:flex;position:sticky;top:0}.vowel-formant-analysis-body{padding:12px 16px 16px}.vowel-formant-analysis-title{color:var(--ink);margin:0;font-size:14px;font-weight:800;line-height:1.35}.vowel-formant-analysis-title span{color:var(--green)}.vowel-formant-analysis-title small{color:#8a5a12;margin-left:6px;font-size:12px;font-weight:700}.vowel-formant-analysis-meta{gap:8px;padding:10px 16px 0;display:grid}.vowel-formant-analysis-tags{flex-wrap:wrap;gap:6px;display:flex}.vowel-formant-analysis-tag{color:#9a3412;background:#fff7edf2;border:1px solid #d9770647;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.vowel-formant-analysis-tag.is-identity{color:#92400e;background:#fef3c7f2;border-color:#d9770673}.vowel-formant-analysis-tag.is-replace{color:#b91c1c;background:#fee2e2f2;border-color:#dc262659}.vowel-formant-analysis-identity-score{color:var(--muted);margin-left:4px;font-weight:600}.vowel-formant-analysis-meta-list{color:#3d4f48;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.vowel-formant-analysis-meta-list strong{color:#123830;font-weight:700}.vowel-formant-analysis-legend{color:var(--muted);gap:12px;font-size:11px;font-weight:600;display:flex}.vowel-formant-analysis-legend i{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.vowel-formant-analysis-legend i.is-reference{background:#1d4ed8}.vowel-formant-analysis-legend i.is-practice{background:#15803d}.vowel-formant-analysis-main{--vowel-formant-block-height:272px;grid-template-columns:minmax(0,308px) minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:10px;display:grid}.vowel-formant-analysis-chart-col,.vowel-formant-analysis-metrics{flex-direction:column;min-width:0;display:flex}.vowel-formant-analysis-chart-col{min-height:calc(var(--vowel-formant-block-height) + 26px);background:#f4faf6eb;border:1px solid #2f8f702e;border-radius:10px;padding:8px 10px}.vowel-formant-analysis-chart{min-height:var(--vowel-formant-block-height);flex:1;justify-content:center;align-items:center;display:flex}.vowel-formant-analysis-chart-col h6,.vowel-formant-analysis-metrics h6,.vowel-formant-analysis-advice h6{color:var(--green);flex-shrink:0;margin:0 0 8px;font-size:12px;font-weight:800;line-height:1.35}.vowel-formant-analysis-advice h6{font-size:13px}.vowel-formant-analysis-metrics{min-height:calc(var(--vowel-formant-block-height) + 26px);background:#f4faf6eb;border:1px solid #2f8f702e;border-radius:10px;padding:8px 10px}.vowel-formant-analysis-metrics-table-wrap{flex-shrink:0}.vowel-formant-analysis-metrics table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.vowel-formant-analysis-metrics th,.vowel-formant-analysis-metrics td{text-align:left;border-bottom:1px solid #2f8f701f;padding:6px 7px;line-height:1.5}.vowel-formant-analysis-glossary{border-top:1px solid #2f8f7024;flex-direction:column;flex:1;justify-content:space-evenly;gap:2px;min-height:0;margin-top:8px;padding-top:8px;display:flex}.vowel-formant-analysis-glossary-item{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;display:grid}.vowel-formant-analysis-glossary-item strong{color:var(--ink);letter-spacing:.01em;font-family:DM Sans,Noto Sans SC,sans-serif;font-size:11px;font-weight:700;line-height:1.4}.vowel-formant-analysis-glossary-item p{color:#46524d;letter-spacing:.02em;margin:0;font-size:11px;font-weight:400;line-height:1.4}.vowel-formant-analysis-advice ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.vowel-formant-analysis-advice li{color:var(--ink);padding-left:16px;font-size:13px;line-height:1.6;position:relative}.vowel-formant-analysis-advice li:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:.58em;left:0;transform:translateY(-50%)}.practice-vowel-formant-popover .vowel-formant-space-chart-wrap.is-lg,.practice-vowel-formant-popover .vowel-formant-space-chart-wrap.is-lg .vowel-formant-space-chart{width:288px;height:272px}.vowel-formant-analysis-metrics thead th{color:var(--muted);background:#f4faf6d9;font-weight:700}.vowel-formant-analysis-metrics tbody th{color:var(--ink);white-space:nowrap;font-weight:800}.vowel-formant-analysis-metrics td.is-reference{color:#1d4ed8;font-weight:700}.vowel-formant-analysis-metrics td.is-practice{color:#15803d;font-weight:700}.vowel-formant-analysis-metrics td.is-close{color:var(--muted);font-weight:600}.vowel-formant-analysis-metrics td.is-high{color:#b45309;font-weight:700}.vowel-formant-analysis-metrics td.is-low{color:#0369a1;font-weight:700}.practice-phoneme-chip-reference{color:#1d4ed8;background:#dbeafeb8;font-weight:700}.practice-phoneme-chip-practice{color:#15803d;background:#dcfce7b8;font-weight:700}.course-practice-analysis-section-words{padding-bottom:12px}.course-practice-analysis-section-words .practice-word-phoneme-panel{margin:0 -4px}@media (width<=960px){.course-practice-analysis-summary{grid-template-columns:1fr}}@media (width<=720px){.course-analysis-radar{grid-template-columns:1fr}.course-analysis-radar-aside{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:8px 12px}.course-analysis-radar-total{grid-column:1}.course-analysis-radar-rear-tone{border-top:0;grid-column:2;padding-top:0}.course-analysis-dimension-list{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding-top:6px}.practice-word-phoneme-card{max-width:min(320px,82vw)}}.course-practice-analysis-bars,.course-practice-analysis-compare,.course-practice-analysis-word-list{gap:8px;display:grid}.course-practice-analysis-bar-row,.course-practice-analysis-word-row{grid-template-columns:52px 1fr 34px;align-items:center;gap:8px;display:grid}.course-practice-analysis-bar-label,.course-practice-analysis-word-text,.course-practice-analysis-compare-label{color:var(--muted);font-size:12px;font-weight:600}.course-practice-analysis-bar-track{background:#3a50681f;border-radius:999px;height:10px;position:relative;overflow:hidden}.course-practice-analysis-bar-track.is-compact{height:8px}.course-practice-analysis-bar-track i{border-radius:inherit;background:linear-gradient(90deg,#6db89a,#2f6b57);height:100%;display:block}.course-practice-analysis-bar-track i.is-practice{background:linear-gradient(90deg,#6db89a,#2f6b57)}.course-practice-analysis-bar-track i.is-reference{background:linear-gradient(90deg,#8eb6ff,#4f8cff)}.course-practice-analysis-bar-value,.course-practice-analysis-word-row strong,.course-practice-analysis-compare-item strong{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.course-practice-analysis-compare-row,.course-practice-analysis-compare-bars{gap:6px;display:grid}.course-practice-analysis-compare-item{grid-template-columns:36px 1fr 34px;align-items:center;gap:8px;display:grid}.course-practice-analysis-compare-item small{color:var(--muted);font-size:11px}.course-practice-analysis-word-list{max-height:220px;padding-right:4px;overflow:auto}.course-practice-analysis-audio,.practice-compare-audio{gap:10px;display:grid}.course-practice-analysis-section-head .practice-compare-audio-legend{color:#2f6b57;margin:0;font-size:12px;font-weight:600}.practice-compare-audio-legend{color:#2f6b57;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:600;display:flex}.practice-compare-audio-legend span{align-items:center;gap:6px;display:inline-flex}.practice-compare-audio-legend i{border-radius:2px;width:14px;height:8px;display:inline-block}.practice-compare-audio-legend .is-reference i{background:#3db892}.practice-compare-audio-legend .is-practice i{background:#5b9cf5}.practice-compare-audio-panel{background:linear-gradient(#fffffff5,#e4eee859);border:1px solid #2f8f7038;border-radius:10px;gap:14px;padding:14px;display:grid}.practice-compare-audio-track{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.practice-compare-audio-wave{flex:220px;min-width:0}.practice-compare-audio-track .subtitle-audio-waveform{background:#f3f7f5;border-color:#2f8f702e}.practice-compare-audio-track .subtitle-audio-waveform-state{color:var(--muted)}.practice-compare-audio-controls{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.practice-compare-audio-track.is-reference .course-analysis-audio-play-btn{background:#3db892}.practice-compare-audio-track.is-reference .course-analysis-audio-play-btn:hover:not(:disabled){background:#2f9a7a}.practice-compare-audio-track.is-practice .course-analysis-audio-play-btn{background:#5b9cf5}.practice-compare-audio-track.is-practice .course-analysis-audio-play-btn:hover:not(:disabled){background:#4588e6}.practice-compare-audio .course-analysis-audio-play-btn.is-icon{color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;font-size:13px;line-height:1;display:inline-flex}.course-practice-analysis-dev-json{border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}.course-analysis-pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.course-analysis-pagination button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px}.course-analysis-pagination button:disabled{opacity:.45;cursor:not-allowed}.course-analysis-result{background:#d9eee459;border:1px solid #9bc2b1;border-radius:8px;margin-bottom:0;padding:10px 12px}.course-analysis-result-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.course-analysis-result-head strong{color:var(--green);flex:none;font-size:12px}.course-analysis-result-head span{color:var(--muted);text-align:right;font-size:12px;line-height:1.45}.course-analysis-result-head-right{flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.course-analysis-result-head-right span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-analysis-result.is-dialog{background:0 0;border:none;margin:0;padding:0}.course-analysis-dialog .el-dialog{flex-direction:column;width:60vw;max-width:60vw;height:60vh;max-height:60vh;margin:0 auto;display:flex}.course-analysis-dialog .el-dialog__header{flex-shrink:0}.course-analysis-dialog .el-dialog__body{flex:1;min-height:0;padding:12px 16px;overflow:auto}.course-analysis-dialog .el-dialog__footer{flex-shrink:0;padding-top:4px}.course-analysis-json{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.course-analysis-json.is-inline{border:1px solid var(--line);background:#fffefb;border-radius:8px;max-height:220px;padding:10px 12px;overflow:auto}.course-analysis-json-empty.is-inline{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fffefbcc;border-radius:8px;margin:0;padding:16px 12px;font-size:12px}.course-analysis-json-empty{color:var(--muted);text-align:center;margin:0;font-size:13px}.course-analysis-scores{border:1px solid var(--line);background:#fffefb;border-radius:8px;margin-bottom:10px;padding:8px 10px}.course-analysis-score-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.course-analysis-score-labels{margin-bottom:6px}.course-analysis-score-labels span{color:var(--muted);text-align:center;font-size:11px}.course-analysis-score-labels span small{color:#9aa39f;margin-top:2px;font-size:9px;font-weight:500;line-height:1.2;display:block}.course-analysis-score-values b{color:var(--green);text-align:center;font-size:18px;display:block}.course-analysis-score-values b.is-total{font-size:22px;font-weight:700}.course-analysis-advice{margin:0}.course-analysis-advice strong{color:var(--green);margin-bottom:4px;font-size:11px;display:block}.course-analysis-advice-text{color:var(--ink);margin:0;font-size:12px;line-height:1.55}.course-analysis-advice-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.course-analysis-advice-list li{color:var(--ink);margin:0;font-size:12px;line-height:1.55}.course-analysis-advice-list li:before{content:"·";color:var(--green);margin-right:6px;font-weight:700}.course-analysis-records{padding-top:2px}.course-analysis-records-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.course-analysis-records-head strong{color:var(--green);font-size:12px}.course-analysis-records-head span{color:var(--muted);font-size:11px}.course-analysis-table-wrap{border:1px solid var(--line);background:#fffefb;border-radius:8px;overflow:auto}.course-analysis-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:12px}.course-analysis-table .col-time{width:88px}.course-analysis-table .col-subtitle{width:168px}.course-analysis-table .col-score{width:38px}.course-analysis-table .col-total{width:42px}.course-analysis-table .col-detail{width:56px}.course-analysis-table thead{background:var(--green-bright)}.course-analysis-table th,.course-analysis-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 6px;overflow:hidden}.course-analysis-table th{color:var(--green);letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:700}.course-analysis-table tbody tr:last-child td{border-bottom:0}.course-analysis-time-cell{white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;font-size:14px;overflow:visible}.course-record-play-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;display:block}.course-record-play-link:disabled{cursor:default;opacity:.55}.course-record-play-link:not(:disabled):hover{color:var(--green)}.course-analysis-detail-btn{color:var(--green);cursor:pointer;white-space:nowrap;background:#d9eee473;border:1px solid #2f6b5759;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4}.course-analysis-detail-btn:hover:not(:disabled){color:#2f6b57;background:#d9eee4f2}.course-analysis-detail-btn:disabled{opacity:.55;cursor:not-allowed}.course-analysis-detail-cell{text-align:center;vertical-align:middle}.course-analysis-subtitle-cell{max-width:0;overflow:hidden}.course-analysis-table td:nth-child(n+3),.course-analysis-table th:nth-child(n+3){text-align:center;white-space:nowrap;vertical-align:middle;font-variant-numeric:tabular-nums}.course-analysis-empty{color:var(--muted);text-align:center;padding:14px 10px;font-size:12px}.course-practice-section .analyse:disabled,.course-practice-section .record-button:disabled,.course-practice-section .play-reference:disabled,.course-practice-section .slow-reference:disabled{cursor:not-allowed;opacity:.55}.course-track-current{background:var(--green);color:#fff;border:1px solid #9bc2b1;grid-template-columns:120px 1fr auto;align-items:center;gap:18px;margin:18px 0 12px;padding:15px 18px;display:grid}.course-track-current>span{color:#ffffffa6;letter-spacing:.14em;font-size:10px;font-weight:700}.course-track-current strong{font-family:var(--font-display);font-size:20px;display:block}.course-track-current p{color:#ffffffad;margin:4px 0 0;font-size:12px;line-height:1.5}.course-track-current b{color:var(--lime);font-size:13px}.course-modules{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.course-module{border:1px solid var(--line);background:var(--card)}.course-module summary{cursor:pointer;justify-content:space-between;gap:15px;padding:18px;list-style:none;display:flex}.course-module summary::-webkit-details-marker{display:none}.course-module summary span b,.course-module summary span small{display:block}.course-module summary span b{font-family:var(--font-display);font-size:17px}.course-module summary span small{color:var(--muted);margin-top:4px;font-size:12px}.course-module summary>strong{color:var(--green);font-size:12px}.course-lessons{border-top:1px solid var(--line);padding:0 10px 10px}.course-lesson{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ecece7;grid-template-columns:25px 1fr auto;align-items:start;gap:9px;padding:11px 8px;display:grid}.course-lesson:last-child{border-bottom:0}.course-lesson:hover{background:var(--green-bright)}.course-lesson>span,.course-lesson>b{color:var(--muted);font-size:11px}.course-lesson p,.course-lesson p strong,.course-lesson p small{margin:0;display:block}.course-lesson p strong{font-size:13px}.course-lesson p small{color:var(--muted);margin-top:3px;font-size:11px}@media (width<=1120px){.rp-main.with-learning-sidebar{padding-left:24px}.rp-main.with-learning-center{padding-left:0;padding-right:0}.media-category-grid,.learning-hub-grid{grid-template-columns:repeat(2,1fr)}.learning-hub-grid .hub-card-daily{grid-area:auto/1/auto/-1;min-height:280px}.learning-hub-grid .hub-card-pronunciation-test,.learning-hub-grid .hub-card-pronunciation-course,.learning-hub-grid .hub-card-oral-test,.learning-hub-grid .hub-card-oral-course,.learning-hub-grid .hub-card-shadowing-course{grid-area:auto}.logistics-hub-grid{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.logistics-hub-grid .hub-card-system-messages{grid-area:auto/1/auto/-1;min-height:280px}.logistics-hub-grid .hub-card-feedback,.logistics-hub-grid .hub-card-resources,.logistics-hub-grid .hub-card-game-space{grid-area:auto}.system-message-trigger{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 24px;gap:8px 10px}.system-message-main{grid-area:1/1}.system-message-time{grid-area:2/1;font-size:11px}.system-message-expand{grid-area:1/2/3;align-self:center}.system-message-body{padding-left:16px}.system-message-media-bar{flex-direction:column}.system-message-media-bar .system-message-media-image{max-width:none}.system-message-media-actions{flex-direction:row;width:100%;min-width:0}.system-message-media-action{flex:1 1 0;min-height:64px}.rp-main.with-learning-center{height:calc(100vh - var(--topbar-height,72px));padding-left:0;padding-right:0;overflow:clip}.rp-main.with-learning-center .learning-center-layout.is-hub .media-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-main.with-learning-center .pronunciation-course-panel,.rp-main.with-learning-center .course-center-panel{height:100%;max-height:100%}.pronunciation-course-body{grid-template-columns:1fr}.pronunciation-course-tree-scroll{max-height:240px}.pronunciation-course-subtitles-scroll{max-height:360px}.course-center-body,.course-center-body.is-lesson-layout{grid-template-columns:1fr}.course-tree-card{max-height:260px}.course-lesson-content{overflow-y:visible}.course-lesson-top-row{grid-template-rows:auto;grid-template-columns:1fr}.course-video-section,.course-practice-section,.course-lesson-top-row>.course-analysis-result{grid-area:auto/1}.course-video-section{max-height:none}.course-video-player,.course-video-locked{flex-basis:200px;height:200px;min-height:200px;max-height:200px}.course-video-player video{min-height:0;max-height:none}.media-category-grid{grid-template-columns:repeat(2,1fr)}.workshop-grid{grid-template-columns:1fr}.workshop-tts-controls{flex-direction:column;align-items:stretch}.workshop-tts-options{grid-template-columns:1fr;gap:8px}.workshop-tts-preview-btn,.workshop-tts-generate-btn{width:100%}.workshop-tts-options>.workshop-tts-field:first-child select,.workshop-tts-options>.workshop-tts-field:nth-child(2) select,.workshop-tts-field-voice .workshop-tts-voice-select{flex:auto;width:100%;min-width:0;max-width:none}.workshop-history-table{overflow-x:auto}.workshop-history-row{min-width:720px}.dashboard-welcome,.feature-head,.assessment-recommendation-head,.assessment-plan-status,.assessment-profile,.assessment-inline-advice,.assessment-test-result,.profile-columns,.course-modules{grid-template-columns:1fr}.assessment-plan-status button{min-height:46px}.assessment-test-recorder{grid-template-columns:auto 1fr}.assessment-test-recorder>button:last-child{grid-column:1/-1;width:100%}.inline-advice-block+.inline-advice-block{border-left:0;border-top:1px solid var(--line)}.compact-hero{grid-template-columns:1fr}}@media (width<=960px){.course-center-panel{height:calc(100vh - 216px);max-height:calc(100vh - 216px)}.app-topbar-row{flex-wrap:wrap;height:auto;padding-top:16px;padding-bottom:16px}.topbar-right{flex-direction:column;order:3;align-items:stretch;gap:12px;width:100%;height:auto}.user-actions{justify-content:flex-end}.landing-hero,.membership-hero,.section-heading{grid-template-columns:1fr}.token-management-hero{align-items:stretch}.token-stats-panel{grid-template-columns:repeat(3,1fr);min-width:0}.landing-hero{height:auto;min-height:200px;padding:18px 20px}.landing-hero h1{font-size:32px}.home-page:has(.landing-view){height:calc(100vh - var(--topbar-height,120px));max-height:calc(100vh - var(--topbar-height,120px));overflow:hidden}.rp-main:has(.landing-view){height:100%;padding-top:20px;padding-bottom:20px;overflow:hidden}.landing-view{gap:10px;overflow:hidden}.landing-view .toolkit-grid{grid-template-columns:1fr}.landing-view .tool-card{height:auto;min-height:168px}.landing-proof li small{display:none}.toolkit-grid,.plan-grid,.quota-grid,.token-purchase-card,.token-purchase-layout{grid-template-columns:1fr}.token-purchase-card{height:auto}.token-payment-methods{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.token-payment-option{justify-items:center}.calc-segment-head,.calc-segment-row{grid-template-columns:68px minmax(0,1fr) 76px;gap:6px}.calc-segment-subtotal{text-align:right}.token-records-grid,.usage-panel,.account-grid{grid-template-columns:1fr}.account-head{flex-direction:column;align-items:stretch;height:auto;min-height:200px;padding:28px 22px}.account-head-actions{align-items:stretch}.account-checkin-btn{justify-content:center;width:100%}.account-checkin-hint{text-align:center}.account-field{grid-template-columns:90px 1fr auto}.hub-hero{padding:28px 22px}.hub-view>.hub-hero:not(.compact-hero){height:auto;min-height:200px}.hub-hero h2,.account-identity h2{font-size:36px}.usage-panel>div{border-right:0;border-bottom:1px solid var(--line)}.plan-card{min-height:auto}.learning-path-strip{grid-template-columns:repeat(2,1fr);gap:12px}.learning-path-strip>i{display:none}.practice-shell{grid-template-columns:1fr}.lesson-list{display:none}.focus-grid{grid-template-columns:1fr}.focus-grid>div{border-right:0;border-bottom:1px solid var(--line)}.profile-overview,.profile-recent-list{grid-template-columns:1fr}.curriculum-head{align-items:start;gap:15px}.access-banner{flex-direction:column;align-items:start}.course-track-current{grid-template-columns:1fr}}@media (width<=640px){.rp-main{padding:20px 14px 70px}.auth-card{padding:40px 24px 36px}.auth-brand{gap:14px;margin-bottom:32px}.auth-brand span{width:48px;height:48px;font-size:19px}.auth-brand small{font-size:13px}.account-field,.setting-row{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}}.rp-main.with-learning-sidebar{padding-top:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter);overflow-x:hidden}.rp-main.with-learning-center{height:calc(100vh - var(--topbar-height,72px));flex-direction:column;min-height:0;padding-bottom:0;padding-left:0;padding-right:0;display:flex;overflow:clip}.rp-main.with-learning-sidebar .learning-center-layout{width:100%;min-width:0;max-width:var(--learning-canvas-width);margin-left:auto;margin-right:auto;padding-top:0}.rp-main.with-learning-center .learning-center-layout{max-width:none;margin:0}.rp-main.with-learning-sidebar .learning-center-layout.is-hub{padding-top:32px}.rp-main.with-learning-sidebar .learning-center-layout.has-breadcrumb{padding-top:var(--learning-breadcrumb-height,44px)}.rp-main.with-learning-sidebar .learning-hub-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr))}.rp-main.with-learning-sidebar .dashboard-welcome{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.rp-main.with-learning-sidebar .hub-hero h2{font-size:clamp(36px,4vw,52px)}.rp-main.with-learning-sidebar .compact-hero{grid-template-columns:minmax(0,1fr) auto}.rp-main.with-learning-sidebar .learning-path-strip{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr)}.rp-main.with-learning-sidebar .learning-path-strip>i{display:block}.rp-main.with-learning-sidebar .practice-shell{grid-template-columns:minmax(180px,270px) minmax(0,1fr);min-width:0}.rp-main.with-learning-sidebar .lesson-list{min-width:0;display:block}.rp-main.with-learning-sidebar .assessment-recommendation-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rp-main.with-learning-sidebar .assessment-plan-status{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.rp-main.with-learning-sidebar .assessment-profile{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.rp-main.with-learning-sidebar .assessment-inline-advice{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rp-main.with-learning-sidebar .assessment-test-result{grid-template-columns:minmax(72px,90px) minmax(0,1fr)}.rp-main.with-learning-sidebar .assessment-plan-status button{min-height:0}.rp-main.with-learning-sidebar .assessment-test-recorder{grid-template-columns:auto minmax(0,1fr) auto}.rp-main.with-learning-sidebar .assessment-test-recorder>button:last-child{grid-column:auto;width:auto}.rp-main.with-learning-sidebar .inline-advice-block+.inline-advice-block{border-left:1px solid var(--line);border-top:0}.rp-main.with-learning-sidebar .course-center-body{grid-template-columns:minmax(160px,228px) minmax(0,1fr)}.rp-main.with-learning-sidebar .course-center-body.is-lesson-layout,.rp-main.with-learning-sidebar .course-center-body.is-lesson-layout.pronunciation-course-body{grid-template-columns:minmax(160px,220px) minmax(0,1fr) minmax(220px,300px)}.rp-main.with-learning-sidebar .course-center-panel{min-width:0;height:100%;min-height:0;max-height:100%}.rp-main.with-learning-sidebar .pronunciation-course-panel{height:100%;max-height:100%}.rp-main.with-learning-sidebar .pronunciation-course-body{grid-template-columns:minmax(160px,220px) minmax(0,1fr) minmax(220px,300px)}.rp-main.with-learning-sidebar .course-tree-card{min-width:0;height:100%;max-height:none}.rp-main.with-learning-sidebar .course-lesson-panel{min-width:0}.rp-main.with-learning-sidebar .course-lesson-content{overflow:clip}.rp-main.with-learning-sidebar .course-lesson-top-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,42%) minmax(0,1fr)}.rp-main.with-learning-sidebar .course-video-section{grid-area:1/1/3;min-width:0;height:auto;max-height:none}.rp-main.with-learning-sidebar .course-practice-section{grid-area:1/2;min-width:0}.rp-main.with-learning-sidebar .course-lesson-top-row>.course-analysis-result{grid-area:2/2;min-width:0}.rp-main.with-learning-sidebar .course-video-player,.rp-main.with-learning-sidebar .course-video-locked{flex:0 0 240px;height:240px;min-height:240px;max-height:240px}.rp-main.with-learning-sidebar .course-video-player video{min-height:0;max-height:none}.rp-main.with-learning-sidebar .course-analysis-table-wrap{overflow:hidden auto}.rp-main.with-learning-sidebar .course-analysis-table{min-width:0}@media (width<=640px){.rp-main.with-learning-sidebar{padding-top:0}.learning-center-layout.is-hub,.rp-main.with-learning-sidebar .learning-center-layout.is-hub{padding-top:20px}}.home-page .rp-main:not(.with-learning-sidebar){width:100%;max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter);overflow-x:hidden}.home-page .rp-main:not(.with-learning-sidebar)>*{width:100%;max-width:var(--page-max-width);min-width:0;margin-left:auto;margin-right:auto}.home-page .landing-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);min-width:0}.home-page .section-heading{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.home-page .toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .media-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-page .workshop-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.home-page .membership-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}.home-page .token-management-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center}.home-page .token-stats-panel{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.home-page .token-purchase-layout{grid-template-columns:minmax(0,10fr) minmax(0,9fr) minmax(0,20fr)}.home-page .token-purchase-card{height:196px}.home-page .token-payment-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .token-records-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-page .profile-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .profile-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.home-page .profile-recent-list{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .profile-practice-table-wrap{overflow:hidden auto}.home-page .profile-practice-table{min-width:0}.home-page .usage-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.account-page .rp-main{width:100%;max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter);overflow-x:hidden}.account-page .rp-main.with-learning-center{padding-bottom:0;padding-left:0;padding-right:0}.account-page .rp-main>*{width:100%;max-width:var(--page-max-width);min-width:0;margin-left:auto;margin-right:auto}.account-page .rp-main.with-learning-center>*{max-width:none;margin:0}.account-page .account-head{flex-direction:row;align-items:center}.account-page .account-head-actions{align-items:flex-end}.account-page .account-checkin-btn{justify-content:flex-start;width:auto}.account-page .account-checkin-hint{text-align:right}.account-page .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-page .account-field{flex-direction:row;grid-template-columns:115px minmax(0,1fr) auto;align-items:center}.account-page .setting-row{flex-direction:row;align-items:center}.learning-center-layout.is-course-module,.learning-center-layout.is-course-module .learning-center-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:clip}.learning-center-layout.is-course-module .course-center-panel{flex:1;height:100%;min-height:0}.learning-center-layout.is-course-module .course-center-body{flex:1;min-height:0}.learning-center-layout.is-course-module .course-tree-card{max-height:none}.learning-center-layout.is-course-module .course-lesson-panel{min-height:0;overflow:clip}.learning-center-layout.is-course-module .course-lesson-content{overscroll-behavior:none;overflow-anchor:none;min-height:0;overflow:clip}.learning-center-layout.is-course-module .course-analysis-records{flex-direction:column;flex:auto;min-height:140px;display:flex;overflow:clip}.learning-center-layout.is-course-module .course-analysis-table-wrap{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.learning-center-layout.is-course-module .logistics-module-panel{width:100%;min-height:0;max-width:var(--page-max-width);padding:18px var(--page-gutter) 24px;box-sizing:border-box;flex-direction:column;flex:1;margin:0 auto;display:flex;overflow:hidden}.learning-center-layout.is-course-module .logistics-module-panel .system-messages-panel,.learning-center-layout.is-course-module .logistics-module-panel .dashboard-welcome,.learning-center-layout.is-course-module .logistics-module-panel .typing-game-shell,.learning-center-layout.is-course-module .logistics-module-panel .feedback-panel{flex:1;height:auto;min-height:0;margin:0 auto;overflow:auto}.feedback-panel{box-sizing:border-box;flex-direction:column;gap:16px;width:70%;max-width:none;margin-left:auto;margin-right:auto;display:flex}.feedback-panel .card-block{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;min-height:0;padding:22px;display:flex;box-shadow:0 12px 38px #1a372e0a}.feedback-section-head{margin-bottom:16px}.feedback-section-head h3{font-family:var(--font-display);color:var(--green);margin:0 0 6px;font-size:26px}.feedback-section-head p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.feedback-section-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feedback-count{color:var(--muted);flex-shrink:0;font-size:12px}.feedback-form{flex-direction:column;flex:1;gap:14px;display:flex}.feedback-field{flex-direction:column;gap:8px;display:flex}.feedback-field span{color:var(--ink);font-size:13px;font-weight:650}.feedback-field em{color:#b54747;font-style:normal}.feedback-field textarea,.feedback-field input{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#fbfcfb;border:1px solid #174f402e;border-radius:10px}.feedback-field textarea{resize:vertical;min-height:140px;padding:12px 14px;line-height:1.55}.feedback-field input{height:42px;padding:0 14px}.feedback-field textarea:focus,.feedback-field input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #174f401a}.feedback-form-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.feedback-form-actions small{color:var(--muted);font-size:12px}.feedback-submit,.feedback-retry{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;height:42px;padding:0 18px;font-size:14px;font-weight:650}.feedback-submit:disabled{opacity:.55;cursor:not-allowed}.feedback-history{min-height:0}.feedback-list{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:auto}.feedback-item{background:#f7faf8;border:1px solid #174f401f;border-radius:10px;padding:14px 16px}.feedback-item-head{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:8px;display:flex}.feedback-item-head time{color:var(--muted);font-size:12px}.feedback-content{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.6}.feedback-contact{color:var(--muted);margin-top:8px;font-size:12px;display:block}.feedback-empty{min-height:160px;color:var(--muted);text-align:center;flex:1;place-content:center;gap:12px;font-size:14px;display:grid}.feedback-pagination{justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.feedback-pagination button{height:34px;color:var(--green);cursor:pointer;background:0 0;border:1px solid #174f402e;border-radius:8px;padding:0 12px}.feedback-pagination button:disabled{opacity:.45;cursor:not-allowed}@media (width<=960px){.feedback-panel{width:100%}}.typing-game-panel{min-height:0}.typing-game-shell{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:18px;padding:22px;display:flex;box-shadow:0 12px 38px #1a372e0a}.typing-game-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.typing-game-head h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--green);margin:0 0 8px;font-size:clamp(28px,3.5vw,40px)}.typing-game-lead{max-width:520px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.typing-game-stats{background:#f7faf8;border:1px solid #174f4024;border-radius:10px;grid-template-columns:repeat(3,minmax(88px,1fr));gap:0;min-width:280px;display:grid;overflow:hidden}.typing-game-stats>div{text-align:center;border-right:1px solid #174f401f;padding:12px 14px}.typing-game-stats>div:last-child{border-right:0}.typing-game-stats span,.typing-game-stats small{color:var(--muted);letter-spacing:.08em;font-size:10px;display:block}.typing-game-stats strong{color:var(--green);font-family:var(--font-display);margin:4px 0 2px;font-size:24px;line-height:1;display:block}.typing-game-stage{background:linear-gradient(165deg,#fcfdfb 0%,#f3f8f5 100%);border:1px dashed #174f4038;border-radius:12px;outline:none;flex:1;justify-content:center;align-items:center;min-height:180px;padding:28px 24px;display:flex}.typing-game-stage:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #174f401f}.typing-game-hint{color:var(--muted);text-align:center;margin:0;font-size:15px}.typing-game-prompt{max-width:920px;font-family:var(--font-sans);letter-spacing:.01em;color:#17221f47;text-align:left;word-break:break-word;margin:0;font-size:clamp(20px,2.4vw,28px);line-height:1.55}.typing-char.is-correct{color:var(--green)}.typing-char.is-wrong{color:#b54747;background:#b547471f;border-radius:3px}.typing-char.is-current{color:var(--ink);border-bottom:2px solid var(--green)}.typing-game-actions{flex-wrap:wrap;gap:10px;display:flex}.typing-game-primary,.typing-game-secondary{cursor:pointer;border-radius:10px;height:42px;padding:0 18px;font-size:14px;font-weight:650}.typing-game-primary{background:var(--green);color:#fff;border:0}.typing-game-primary:hover{filter:brightness(1.05)}.typing-game-secondary{color:var(--green);background:0 0;border:1px solid #174f4033}.typing-game-secondary:hover{background:var(--green-bright)}@media (width<=960px){.typing-game-head{flex-direction:column}.typing-game-stats{width:100%;min-width:0}}.app-shell{--topbar-height:72px;padding-top:var(--topbar-height)}@media (width<=960px){.app-shell{--topbar-height:120px}}
