#kxScopedCourse *{box-sizing: border-box;}
#kxScopedCourse {margin: 0px; background: radial-gradient(circle at 8% 4%, rgb(255, 240, 247) 0, transparent 26%), radial-gradient(circle at 92% 10%, rgb(231, 244, 255) 0, transparent 28%), linear-gradient(135deg, rgb(245, 249, 255), rgb(255, 248, 252) 58%, rgb(244, 241, 255)); color: rgb(29, 53, 88); font-family: Inter, Arial, "Microsoft YaHei", sans-serif; line-height: 1.7;}
#kxScopedCourse .nav{position: sticky; top: 0px; background: rgb(255, 255, 255); padding: 12px 20px; border-bottom: 1px solid rgb(225, 234, 246); color: rgb(57, 117, 196); font-weight: 900; z-index: 3; display: flex; justify-content: space-between;}
#kxScopedCourse .nav button{border: 1px solid rgb(212, 228, 248); border-radius: 7px; background: rgb(248, 251, 255); color: rgb(52, 118, 193); padding: 5px 10px; cursor: pointer;}
#kxScopedCourse .wrap{max-width: 1240px; margin: 20px auto; padding: 0px 15px;}
#kxScopedCourse .paper-container{background: rgba(255, 255, 255, 0.94); border: 1px solid rgb(228, 237, 251); border-radius: 24px; padding: clamp(17px, 3vw, 36px); box-shadow: 0 14px 40px #5d75b114;}
#kxScopedCourse .paper-title{text-align: center; font-size: clamp(22px, 3vw, 29px); margin: 4px 0px 8px; color: rgb(38, 60, 91);}
#kxScopedCourse .subtitle{text-align: center; color: rgb(111, 128, 150); margin: 0px 0px 22px; font-size: 13px;}
#kxScopedCourse .audio-player{display: flex; align-items: center; gap: 20px; flex-wrap: wrap; background: rgb(243, 248, 255); border: 1px solid rgb(220, 234, 251); border-radius: 11px; padding: 14px; margin: 0px 0px 20px;}
#kxScopedCourse .audio-player audio{flex: 1 1 0%; min-width: 230px; max-width: 100%;}
#kxScopedCourse .paper-section{margin: 27px 0px;}
#kxScopedCourse .paper-section h2{font-size: 19px; color: rgb(44, 70, 103); border-bottom: 2px solid rgb(74, 143, 230); padding: 0px 0px 8px; margin: 0px 0px 15px;}
#kxScopedCourse .question-item{border: 1px solid rgb(228, 234, 250); background: linear-gradient(145deg, rgb(255, 255, 255), rgb(251, 253, 255)); border-radius: 16px; padding: 15px; margin: 12px 0px; box-shadow: 0 5px 16px #5675a10a;}
#kxScopedCourse .question-item h3{font-size: 15px; margin: 7px 0px 10px; font-weight: 650; white-space: pre-wrap;}
#kxScopedCourse .question-meta{display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: 11px; font-weight: 800; color: rgb(105, 144, 200);}
#kxScopedCourse .question-type-tag{border-radius: 999px; background: rgb(234, 243, 255); padding: 3px 9px; color: rgb(65, 118, 189);}
#kxScopedCourse .option-item{display: block; border: 1px solid rgb(229, 237, 247); border-radius: 8px; padding: 8px 10px; margin: 6px 0px; background: rgb(255, 255, 255); cursor: pointer;}
#kxScopedCourse .option-item:hover{background: rgb(240, 246, 255);}
#kxScopedCourse .option-item input{margin-right: 7px;}
#kxScopedCourse .actions{display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px;}
#kxScopedCourse .btn{background: rgb(52, 123, 232); color: rgb(255, 255, 255); border: 0px; border-radius: 9px; padding: 10px 17px; font-weight: 800; cursor: pointer;}
#kxScopedCourse .btn.secondary{background: rgb(238, 244, 253); color: rgb(60, 114, 186);}
#kxScopedCourse .result{margin-top: 14px; padding: 13px; border-radius: 10px; background: rgb(238, 248, 242); color: rgb(25, 126, 86); font-weight: 800; display: none;}
#kxScopedCourse .result.show{display: block;}
#kxScopedCourse .content-wrapper{display: flex; gap: 16px; align-items: stretch;}
#kxScopedCourse .passage-column,#kxScopedCourse .question-column{flex: 1 1 0%; min-width: 0px; max-height: 75vh; overflow: auto; padding: 14px 16px; border: 1px solid rgb(225, 234, 245); border-radius: 11px;}
#kxScopedCourse .passage-column{background: rgb(255, 255, 255); text-align: justify;}
#kxScopedCourse .question-column{background: rgb(248, 251, 255);}
#kxScopedCourse .question-column h4{position: sticky; top: 0px; background: rgb(248, 251, 255); margin: 0px 0px 8px; padding: 4px 0px 8px; border-bottom: 1px solid rgb(218, 231, 247);}
#kxScopedCourse .passage-paragraph{margin: 0px 0px 13px; text-align: justify;}
#kxScopedCourse .passage-subtitle{font-size: 15px; margin: 14px 0px 5px; color: rgb(45, 80, 122);}
#kxScopedCourse .source-tag{font-size: 12px; color: rgb(133, 150, 171);}
#kxScopedCourse .reading-group{margin: 18px 0px;}
#kxScopedCourse .reading-translation-controls{display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 9px 12px; background: rgb(247, 251, 255); border: 1px solid rgb(220, 233, 248); border-radius: 9px; margin: 9px 0px 20px;}
#kxScopedCourse .mini-action{font-size: 12px; color: rgb(74, 111, 165); border: 1px solid rgb(74, 111, 165); background: rgb(255, 255, 255); border-radius: 5px; padding: 4px 10px; cursor: pointer;}
#kxScopedCourse .mini-action.active{background: rgb(74, 111, 165); color: rgb(255, 255, 255);}
#kxScopedCourse .translation-help{font-size: 12px; color: rgb(123, 143, 170);}
#kxScopedCourse .translation-tooltip{position: fixed; z-index: 9999; display: none; max-width: min(440px, 82vw); padding: 10px 13px; background: rgb(23, 57, 95); color: rgb(255, 255, 255); border: 1px solid rgb(154, 199, 255); border-radius: 9px; box-shadow: 0 8px 28px #102d503b; font-size: 13px; line-height: 1.6; pointer-events: none;}
#kxScopedCourse .translation-tooltip.show{display: block;}
#kxScopedCourse .hover-translation-target.hover-active{background: rgb(234, 244, 255); outline: 1px dashed #78aef0; border-radius: 4px;}
#kxScopedCourse .cloze-clickable{display: inline-flex; align-items: center; justify-content: center; min-width: 40px; padding: 1px 6px; border-width: 0px 0px 2px; border-style: none none solid; border-color: currentcolor currentcolor rgb(52, 123, 232); border-image: none; border-radius: 4px; background: rgb(234, 244, 255); color: rgb(36, 95, 168); font-weight: 800; cursor: pointer; vertical-align: baseline;}
#kxScopedCourse .cloze-clickable.answered{background: rgb(234, 248, 240); color: rgb(21, 128, 76); border-bottom-color: rgb(33, 164, 93);}
#kxScopedCourse .option-popup{position: fixed; display: none; z-index: 5000; min-width: 220px; max-width: 300px; background: rgb(255, 255, 255); border: 1px solid rgb(205, 221, 241); border-radius: 10px; box-shadow: 0 10px 35px #2b4c701f; padding: 7px;}
#kxScopedCourse .popup-option{display: block; width: 100%; text-align: left; padding: 8px 10px; border: 0px; background: rgb(255, 255, 255); border-radius: 6px; cursor: pointer; color: rgb(46, 73, 107);}
#kxScopedCourse .popup-option:hover{background: rgb(237, 245, 255);}
#kxScopedCourse .grammar-input{width: 105px; max-width: 45vw; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(71, 125, 195); border-image: none; background: rgb(255, 255, 255); text-align: center; padding: 3px; font: inherit; color: rgb(35, 70, 110);}
#kxScopedCourse .mini-box{display: none; font-size: 12px; line-height: 1.5; padding: 7px; background: rgb(240, 247, 255); border-radius: 5px;}
#kxScopedCourse .mini-box.show{display: block;}
#kxScopedCourse .writing-input{width: 100%; min-height: 130px; padding: 12px; border: 1px solid rgb(217, 228, 242); border-radius: 9px; font: inherit; resize: vertical;}
#kxScopedCourse .writing-prompt{background: rgb(248, 251, 255); border: 1px solid rgb(220, 233, 248); border-radius: 10px; padding: 12px; margin: 12px 0px;}
#kxScopedCourse .source-box{margin: 24px 0px 8px; background: rgb(248, 251, 255); border: 1px solid rgb(223, 233, 246); border-radius: 11px; padding: 13px 16px;}
#kxScopedCourse .source-box summary{cursor: pointer; font-weight: 800; color: rgb(61, 116, 191);}
#kxScopedCourse .source-doc{font-family: Georgia, "Times New Roman", "Microsoft YaHei", serif; font-size: 14px; line-height: 1.85; color: rgb(41, 59, 84); margin-top: 12px;}
#kxScopedCourse .source-doc p{margin: 0px 0px 9px;}
#kxScopedCourse .notice{padding: 12px; border-radius: 9px; background: rgb(255, 248, 231); color: rgb(135, 106, 47); font-size: 12px; margin: 14px 0px;}
#kxScopedCourse .part-view-banner{display: flex; align-items: center; justify-content: space-between; gap: 10px; background: rgb(234, 244, 255); color: rgb(32, 90, 159); border: 1px solid rgb(209, 230, 255); border-radius: 10px; padding: 10px 14px; margin: 0px 0px 16px; font-weight: 700;}
@media (max-width:780px){#kxScopedCourse .content-wrapper{flex-direction: column;}
#kxScopedCourse .passage-column,#kxScopedCourse .question-column{max-height: none; overflow: visible; width: 100%;}
#kxScopedCourse .wrap{margin: 12px auto;}
#kxScopedCourse .paper-container{padding: 14px;}}
#kxScopedCourse .kx-analysis-scroll{width: 100%; overflow-x: auto;}
#kxScopedCourse .kx-analysis-table{width: 100%; border-collapse: collapse; white-space: normal;}
#kxScopedCourse .kx-analysis-table th,#kxScopedCourse .kx-analysis-table td{padding: 10px; border: 1px solid rgb(229, 221, 236); text-align: left; vertical-align: top;}
#kxScopedCourse .kx-analysis-table th{background: rgb(246, 240, 250);}
#kxScopedCourse .kx-analysis-table td:last-child{min-width: 220px; line-height: 1.8;}
#kxScopedCourse .cloze-option-bank{margin: 16px 0px; padding: 15px; border: 1px solid rgb(219, 233, 251); border-radius: 15px; background: linear-gradient(135deg, rgb(245, 250, 255), rgb(255, 248, 252));}
#kxScopedCourse .cloze-option-bank h3{margin: 0px 0px 9px; font-size: 16px; color: rgb(44, 93, 158);}
#kxScopedCourse .cloze-option-row{display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 8px; padding: 12px 0px; border-top: 1px solid rgb(231, 239, 249);}
#kxScopedCourse .cloze-option-row>strong{padding-top: 2px; color: rgb(56, 111, 183);}
#kxScopedCourse .cloze-option-row .option-bank-buttons{display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; flex: 1 1 0%; gap: 7px;}
#kxScopedCourse .cloze-option-row .question-feedback{width: 100%; box-sizing: border-box; white-space: normal; overflow-wrap: anywhere; line-height: 1.75;}
#kxScopedCourse .cloze-container .reading-translation-controls{display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 8px;}
#kxScopedCourse .cloze-container .mini-box{width: 100%; box-sizing: border-box; line-height: 1.75; white-space: pre-wrap;}
#kxScopedCourse .cloze-bank-choice{border: 1px solid rgb(219, 230, 245); background: rgb(255, 255, 255); border-radius: 9px; padding: 7px 10px; text-align: left; cursor: pointer; color: rgb(41, 69, 101);}
#kxScopedCourse .cloze-bank-choice:hover,#kxScopedCourse .cloze-bank-choice.selected{border-color: rgb(115, 166, 240); background: rgb(238, 246, 255);}
#kxScopedCourse .cloze-bank-choice.is-correct{border-color: rgb(39, 168, 121) !important; background: rgb(230, 248, 239) !important; color: rgb(22, 115, 78) !important;}
#kxScopedCourse .cloze-bank-choice.is-wrong{border-color: rgb(231, 91, 108) !important; background: rgb(255, 240, 241) !important; color: rgb(172, 47, 66) !important;}
#kxScopedCourse .question-item.is-correct{border-color: rgb(56, 185, 130) !important; background: rgb(241, 251, 245) !important;}
#kxScopedCourse .question-item.is-wrong{border-color: rgb(232, 113, 125) !important; background: rgb(255, 245, 245) !important;}
#kxScopedCourse .grade-badge{display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 900; margin-left: 8px;}
#kxScopedCourse .grade-badge.correct{background: rgb(223, 247, 233); color: rgb(22, 129, 83);}
#kxScopedCourse .grade-badge.wrong{background: rgb(255, 231, 233); color: rgb(182, 48, 67);}
#kxScopedCourse .grade-badge.ungraded{background: rgb(243, 246, 250); color: rgb(114, 131, 155);}
#kxScopedCourse .option-item.is-correct{border-color: rgb(45, 180, 124); background: rgb(234, 249, 240);}
#kxScopedCourse .option-item.is-wrong{border-color: rgb(227, 93, 107); background: rgb(255, 240, 241);}
#kxScopedCourse .question-feedback{margin-top: 9px; padding: 8px 10px; border-radius: 9px; font-size: 13px; font-weight: 700;}
#kxScopedCourse .question-feedback.correct{background: rgb(234, 249, 240); color: rgb(22, 115, 78);}
#kxScopedCourse .question-feedback.wrong{background: rgb(255, 240, 241); color: rgb(173, 48, 66);}
#kxScopedCourse .question-feedback.ungraded{background: rgb(245, 247, 251); color: rgb(109, 128, 153);}
#kxScopedCourse .translation-tooltip{position: fixed; z-index: 999999; max-width: min(420px, -24px + 100vw); max-height: 38vh; overflow: auto; padding: 11px 14px; border: 1px solid rgb(205, 223, 247); border-radius: 12px; background: rgb(255, 255, 255); box-shadow: 0 12px 34px #183e6d2a; color: rgb(37, 70, 108); font-size: 13px; line-height: 1.7; pointer-events: none; white-space: pre-wrap; display: none;}
#kxScopedCourse .translation-tooltip.show{display: block;}
#kxScopedCourse .hover-translation-target{cursor: help; border-radius: 5px;}
#kxScopedCourse .hover-translation-target:hover{background: rgba(238, 246, 255, 0.46);}
#kxScopedCourse .grammar-input.is-correct{border-color: rgb(45, 180, 124) !important; background: rgb(234, 249, 240) !important;}
#kxScopedCourse .grammar-input.is-wrong{border-color: rgb(227, 93, 107) !important; background: rgb(255, 240, 241) !important;}
#kxScopedCourse .grammar-feedback{display: inline-block; margin-left: 6px; padding: 3px 7px; border-radius: 7px; font-size: 12px; font-weight: 800;}
#kxScopedCourse .grammar-feedback.correct{background: rgb(228, 248, 236); color: rgb(23, 117, 79);}
#kxScopedCourse .grammar-feedback.wrong{background: rgb(255, 240, 241); color: rgb(168, 44, 61);}
#kxScopedCourse .writing-feedback-grid{display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 10px 0px;}
#kxScopedCourse .writing-feedback-card{background: rgb(247, 250, 255); border: 1px solid rgb(226, 238, 250); border-radius: 11px; padding: 10px;}
#kxScopedCourse .writing-feedback-card strong{display: block; color: rgb(53, 109, 176);}
#kxScopedCourse .writing-feedback-card span{font-size: 12px; color: rgb(100, 125, 158);}
#kxScopedCourse .writing-issue{border-left: 3px solid rgb(227, 108, 121); padding: 8px 11px; margin: 8px 0px; background: rgb(255, 246, 246); border-radius: 0 9px 9px 0;}
#kxScopedCourse .writing-good{border-left: 3px solid rgb(46, 180, 125); padding: 8px 11px; margin: 8px 0px; background: rgb(240, 251, 245); border-radius: 0 9px 9px 0;}
@media (max-width:700px){#kxScopedCourse .cloze-option-row{grid-template-columns: 1fr; gap: 4px;}
#kxScopedCourse .writing-feedback-grid{grid-template-columns: 1fr;}}
#kxScopedCourse .content-wrapper{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px}#kxScopedCourse .passage-column,#kxScopedCourse .question-column{max-height:none;overflow:visible;min-width:0}#kxScopedCourse .kx-course-result{display:block;white-space:pre-wrap;line-height:1.8;padding:16px;border:1px solid #e3dbe8;border-radius:12px;background:#faf7ff}#kxScopedCourse .kx-course-result[hidden]{display:none}#kxScopedCourse [data-part=cloze]>.question-item .options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kx-reading-steps{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.kx-reading-steps button[aria-current=true]{background:#d8eee7}.kx-reading-path{padding:16px;background:#f4f9f7;border-radius:14px;margin-bottom:20px}.kx-reading-schedule{display:flex;flex-wrap:wrap;gap:16px}.kx-reading-schedule label{display:grid;gap:8px}.kx-reading-schedule select{padding:10px;border-radius:8px;border:1px solid #ddd}@media(max-width:800px){#kxScopedCourse .content-wrapper{grid-template-columns:1fr}#kxScopedCourse [data-part=cloze]>.question-item .options{grid-template-columns:1fr 1fr}}
#kxScopedCourse .kx-paper-image{display:block;max-width:100%;height:auto;object-fit:contain;margin:12px auto;break-inside:avoid}

#kxScopedCourse .kx-scan-page{margin:10px 0}#kxScopedCourse .kx-scan-layout .passage-column{flex:1.4}#kxScopedCourse .kx-scan-material img{width:100%}
