:root{--bg:#f1f1f1;--paper:#fcfcfc;--ink:#292929;--muted:#7b7b7b;--blue:#6e6e6e;--line:#e0e0e0;--pale:#ececec;--side:#ececec;--serif:Georgia,'Times New Roman','Songti SC',serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}a{color:inherit;text-decoration:none}input,select,textarea{border:1px solid var(--line);background:var(--paper);padding:11px 13px;border-radius:7px;color:var(--ink);width:100%}textarea{resize:vertical;min-height:110px}label{display:block;color:var(--muted);font-size:12px;margin:15px 0 7px}h1,h2,h3,p{margin:0}h1{font-size:36px;letter-spacing:1px;font-weight:550;line-height:1.35}h2{font-size:22px;font-weight:550}h3{font-size:17px;font-weight:550}small{color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--side);border-right:1px solid #dcdcdc;padding:34px 25px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:13px}.brand-icon{font:italic 47px var(--serif);line-height:1;background:#676767;color:white;width:48px;height:51px;text-align:center;border-radius:11px}.brand-icon span{color:#c8c8c8}.brand b{font-size:21px;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:3px}.private-label{font-size:8px;letter-spacing:1.1px;color:#7e7e7e;margin:31px 0 22px;display:flex;gap:7px;align-items:center}.private-label span{width:5px;height:5px;background:#8f8f8f;border-radius:100%}.nav{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:11px 15px;border-radius:7px;margin-bottom:6px;color:#6f6f6f}.nav i{font-style:normal;font-size:21px;line-height:1}.nav.active{background:#e3e3e3;color:#545454;font-weight:600}.nav:hover,.side-course:hover{background:#e4e4e4}.side-title{font-size:9px;letter-spacing:1.8px;color:#878787;margin:37px 10px 16px;display:flex;justify-content:space-between}.side-course{padding:9px 11px;width:100%;text-align:left;display:flex;align-items:center;gap:10px;border-radius:6px;font-size:12px;color:#6d6d6d}.course-dot{width:6px;height:6px;border-radius:50%;background:#8e8e8e;flex-shrink:0}.side-course small{font-size:9px;margin-left:auto}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:11px;padding-top:30px}.avatar{background:#dedede;border:1px solid #d5d5d5;border-radius:50%;width:33px;height:33px;text-align:center;font:italic 21px/33px var(--serif)}.sidebar-bottom b{font-size:10px;font-weight:500}.sidebar-bottom small{display:block;font-size:9px}.main-wrap{margin-left:246px}.topbar{height:79px;border-bottom:1px solid var(--line);padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#808080}.topbar span:last-child{letter-spacing:.6px;font-size:11px}main{max-width:1270px;margin:auto;padding:46px 5.3% 55px;min-height:calc(100vh - 137px)}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--blue);margin-bottom:12px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:31px}.intro p{color:var(--muted);margin-top:13px;font-size:12px}.intro .script{font:italic 18px var(--serif);color:#9e9e9e;white-space:nowrap;padding-bottom:5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 32px;background:#f8f8f8;border:1px solid var(--line);border-radius:10px}.stat{padding:19px 24px}.stat+.stat{border-left:1px solid var(--line)}.stat small{font-size:11px}.stat b{display:block;font:32px/1.3 var(--serif);margin-top:5px;font-weight:400}.stat b em{font:11px sans-serif;color:var(--muted);margin-left:7px}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(235px,1fr);gap:22px;margin-bottom:35px}.hero{background:#696969;color:white;border-radius:10px;position:relative;overflow:hidden;padding:28px 31px;min-height:220px}.hero::after{content:'Aa';font:italic 170px var(--serif);position:absolute;right:-3px;bottom:-39px;color:#ffffff;opacity:.065;pointer-events:none;transform:rotate(-12deg)}.hero .eyebrow{color:#cbcbcb;font-size:9px}.hero h2{font-size:25px;letter-spacing:1px}.hero p{font-size:11px;color:#dcdcdc;margin:12px 0 23px}.primary,.secondary,.outline{padding:10px 21px;border-radius:6px;display:inline-flex;justify-content:center;align-items:center;gap:18px;transition:background .15s}.primary{background:var(--blue);color:white}.primary:hover{background:#5b5b5b}.hero .primary{background:#f5f5f5;color:#484848;min-width:156px}.secondary{background:var(--pale);color:#595959}.outline{border:1px solid var(--line);background:transparent}.quiet{font-size:11px;color:var(--muted);padding:6px}.aside-note{border:1px solid var(--line);border-radius:10px;padding:25px;background:#f9f9f9;display:flex;flex-direction:column;justify-content:space-between}.aside-note .eyebrow{font-size:9px;color:#8e8e8e}.aside-note blockquote{font:italic 23px/1.4 var(--serif);margin:4px 0 14px;color:#5a5a5a}.aside-note p{font-size:11px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-size:17px}.section-heading small{font-size:10px;letter-spacing:1px;margin-left:12px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.course-card{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:21px 22px 18px;position:relative;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #3535350c}.course-card .course-code{font:10px monospace;letter-spacing:1px;color:#787878;display:flex;justify-content:space-between;margin-bottom:16px}.course-card h3{font-size:16px}.course-card .english{font:italic 13px var(--serif);color:#8e8e8e;margin-top:2px}.course-card .desc{font-size:10px;color:#8a8a8a;line-height:1.8;min-height:36px;margin:13px 0 16px}.course-meta{border-top:1px solid #ededed;padding-top:13px;display:flex;justify-content:space-between;font-size:10px;color:#858585}.course-meta b{font-weight:500;color:#616161}.add-card{border-style:dashed;background:none;display:flex;min-height:228px;align-items:center;justify-content:center;flex-direction:column;color:#888888}.add-card .plus{font:30px var(--serif);margin-bottom:10px}.add-card p{font-size:10px;margin-top:9px}.progress{height:3px;border-radius:4px;background:#e7e7e7;overflow:hidden}.progress span{display:block;height:100%;background:#808080}.section-note{font-size:10px;color:#929292;margin-top:15px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 16px}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto;max-width:100%}.toolbar .primary{font-size:12px}.library-list{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.word-row{display:grid;grid-template-columns:1fr 1.3fr 42px;gap:15px;align-items:center;padding:16px 22px;border-bottom:1px solid #ebebeb;cursor:pointer}.word-row:last-child{border:0}.word-row:hover{background:#f5f5f5}.word-row b{font:19px var(--serif);display:block}.word-row small{display:block;font-size:9px;color:#8e8e8e}.word-row .meaning{font-size:12px;color:#676767}.star{font-size:22px;color:#999999}.star.saved{color:#6b6b6b}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.pager{display:flex;align-items:center;justify-content:center;gap:20px;padding:24px;font-size:12px}.study-shell{max-width:820px;margin:auto}.study-top{display:flex;align-items:center;justify-content:space-between;margin:5px 0 20px;color:var(--muted);font-size:12px}.study-head{margin-bottom:25px}.study-head .progress{margin-top:15px}.flashcard{background:var(--paper);border:1px solid #dbdbdb;border-radius:12px;min-height:380px;position:relative;box-shadow:0 12px 40px #46464608;padding:28px 39px 32px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.flashcard::before{content:'';position:absolute;inset:7px;border:1px solid #ececec;border-radius:8px;pointer-events:none}.card-label{font-size:9px;letter-spacing:1.7px;color:#8d8d8d;position:absolute;top:25px;left:30px}.card-star{position:absolute;right:25px;top:16px;z-index:1}.term{font:clamp(27px,4.2vw,45px)/1.25 var(--serif);font-weight:400;overflow-wrap:anywhere;max-width:100%;margin:30px 0 18px}.pronounce{font-size:11px;color:#8d8d8d;padding:6px 12px;border-radius:30px;background:#f0f0f0;margin-bottom:20px;z-index:1}.think{font-size:12px;color:#939393;margin:20px 0}.card-meaning{font-size:20px;line-height:1.8;color:#595959;max-width:90%;padding:4px 0 20px}.source{font-size:10px;color:#919191;border-top:1px solid #e8e8e8;padding-top:15px;width:100%;margin-top:12px}.context{text-align:left;font:15px/1.8 var(--serif);color:#767676;max-width:100%;padding:14px 18px;background:#f4f4f4;border-left:2px solid #a4a4a4;margin:10px 0;width:100%}.memory-tip{text-align:left;color:#787878;font-size:12px;width:100%;margin:8px 0}.recall{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0 13px}.recall button{padding:15px;border-radius:8px;border:1px solid var(--line);background:#fbfbfb}.recall button:last-child{background:#707070;color:white;border-color:#707070}.recall b{display:block;font-size:13px;font-weight:500}.recall small{font-size:10px}.recall button:last-child small{color:#d9d9d9}.study-help{text-align:center;color:#949494;font-size:10px}.study-bottom{display:flex;justify-content:center;gap:14px;margin-top:20px}.setting-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:30px;max-width:720px;margin-top:25px}.setting-panel p{font-size:12px;color:var(--muted);margin:13px 0}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}.success-circle{font:italic 47px/100px var(--serif);background:#e9e9e9;color:#747474;width:100px;height:100px;border-radius:50%;margin:20px auto 28px}.complete{text-align:center;padding:40px 0}.complete h1{font-size:31px}.complete p{color:var(--muted);margin:15px 0 28px}footer{padding:18px 5.3%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#929292}footer button{font-size:9px;color:#818181}dialog{background:var(--paper);border:1px solid var(--line);border-radius:12px;width:min(630px,93vw);padding:25px 28px;max-height:85vh;color:var(--ink)}dialog::backdrop{background:#29292970;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.dialog-head h2{font-size:20px}.icon{font-size:17px;padding:4px 8px}.dialog-note{font-size:12px;color:var(--muted)}.detail-term{font:31px var(--serif);margin:15px 0}.detail-meaning{font-size:16px;color:#626262;margin:15px 0}.detail-source{font-size:11px;color:var(--muted);margin:20px 0}.error{color:#5b5b5b;font-size:12px;margin-top:12px}.success{color:#696969;font-size:12px;margin-top:12px}.file-input{margin-top:15px}.file-input input{padding:9px;font-size:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(15px);background:#363636;color:white;max-width:90%;padding:11px 21px;border-radius:8px;font-size:12px;z-index:30;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.unit-chip{background:#ececec;color:#707070;font-size:10px;border-radius:5px;padding:3px 8px;display:inline-block}.week{display:flex;gap:7px;align-items:flex-end;margin-top:20px}.day{flex:1;text-align:center;font-size:8px;color:#949494}.day span{height:5px;display:block;border-radius:3px;background:#e6e6e6;margin-bottom:6px}.day.done span{background:#858585}
@media(min-width:1600px){main{padding-top:60px}.course-card{padding:28px}.hero{padding:34px}}
@media(max-width:1100px){.sidebar{width:210px;padding:30px 18px}.main-wrap{margin-left:210px}.course-grid{grid-template-columns:repeat(2,1fr)}.intro .script{display:none}.dashboard-middle{grid-template-columns:1.5fr 1fr}.stat{padding:16px 18px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand-icon{width:36px;height:38px;font-size:35px;border-radius:8px}.brand b{font-size:18px}.brand small{font-size:7px}.private-label,.side-title,#side-courses,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:4px;margin-top:15px}.nav{justify-content:center;font-size:11px;padding:8px 4px;margin:0;gap:6px}.nav i{font-size:16px}.main-wrap{margin-left:0}.topbar{height:48px;padding:0 6%;font-size:7px;letter-spacing:1px}.topbar span:last-child{font-size:9px}main{padding:29px 6% 35px;min-height:65vh}h1{font-size:29px}.intro{margin-bottom:24px}.intro p{font-size:11px}.stats{margin-bottom:22px}.stat{padding:14px 12px}.stat small{font-size:9px}.stat b{font-size:26px}.stat b em{font-size:9px;margin-left:3px}.dashboard-middle{grid-template-columns:1fr;gap:14px;margin-bottom:27px}.hero{min-height:200px;padding:25px}.aside-note{padding:18px 22px}.aside-note blockquote{font-size:20px}.week{display:none}.course-grid{gap:12px}.course-card{padding:17px 15px}.course-card .course-code{font-size:9px;margin-bottom:12px}.course-card h3{font-size:15px}.course-card .english{font-size:11px}.course-card .desc{font-size:9px;min-height:48px}.course-meta{font-size:9px}.add-card{min-height:210px}.section-heading small{display:none}.word-row{grid-template-columns:1fr 34px;padding:15px}.word-row .meaning{grid-column:1;grid-row:2}.word-row .star{grid-column:2;grid-row:1/3}.toolbar{gap:8px}.toolbar select{font-size:12px;flex:1}.toolbar .primary{padding:10px 15px}.setting-panel{padding:22px}.setting-grid{grid-template-columns:1fr;gap:0}.flashcard{padding:30px 23px;min-height:355px}.card-label{font-size:8px;left:22px}.card-meaning{font-size:18px;max-width:100%}.recall{gap:8px}.recall button{padding:12px 4px}.recall b{font-size:12px}.recall small{font-size:9px}.context{font-size:14px}.study-top{font-size:10px}footer{font-size:8px;padding:15px 6%}footer button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
