:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#243247;background:#f5f7fa;color-scheme:light;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button,.primary-link,.play-button{border:1px solid #d7e0ea;border-radius:8px;padding:9px 15px;min-height:42px;background:#fff;color:#33465f;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover{background:#edf4ff;border-color:#8cb4f0}button:disabled{opacity:.5;cursor:not-allowed}a{color:#2463d4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8cb4f0;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:26px;line-height:1.4}h2{font-size:21px}h3{font-size:18px}p,.muted,small{color:#66778c}input,textarea{width:100%;margin-top:8px;padding:12px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:#243247}input:focus,textarea:focus{outline:2px solid #4586ec;outline-offset:1px}label{display:block;margin-top:20px;font-weight:500}textarea{resize:vertical}form>button,.primary-link,.play-button,.note-actions button{background:#2463d4;color:#fff;border-color:#2463d4}form>button:hover,.primary-link:hover,.play-button:hover{background:#1c52b5}form>button{width:100%;margin-top:16px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell>main{width:100%;max-width:1280px;margin:0 auto;padding:32px;flex:1}.top-bar{background:#fff;border-bottom:1px solid #e1e7ef;min-height:72px;padding:12px max(24px,calc((100vw - 1216px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.top-title{font-size:19px;font-weight:700;white-space:nowrap}.top-bar nav{display:flex;align-items:center;gap:8px}.top-bar nav>button{border:0;background:transparent}.account-menu{position:relative}.account-menu summary{padding:9px 12px}.account-menu button{position:absolute;right:0;top:100%;white-space:nowrap;z-index:5;box-shadow:0 8px 24px #24324718}.version-footer{text-align:center;font-size:12px;color:#8391a4;padding:20px;margin-top:auto}.version-footer summary{list-style:none}.login-layout{min-height:100svh;display:flex;flex-direction:column;padding:32px 20px}.login-card{margin:auto;width:min(440px,100%);background:#fff;border:1px solid #e1e7ef;padding:36px;border-radius:16px;box-shadow:0 12px 40px #24324708}.login-card h1{margin-bottom:8px}.login-card input{font-size:25px;letter-spacing:.15em}.login-error{min-height:28px;color:#b42332;font-size:14px}.login-help{margin-top:28px;border-top:1px solid #e7edf4;padding-top:20px}.login-help h3{font-size:14px;margin-bottom:6px}.login-help p{margin-bottom:4px}.login-layout .version-footer{margin-top:24px}.redeem-layout{min-height:60vh;display:grid;place-items:center}.redeem-card{width:min(480px,100%);padding:32px;border:1px solid #e1e7ef;border-radius:14px;background:#fff}.success-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}.empty-state,.page-loading{min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;color:#66778c}.form-error,.form-success{margin:12px 0;padding:12px;border-radius:8px;overflow-wrap:anywhere}.form-error{background:#fff1f0;color:#b42332;border:1px solid #ffdbd7}.form-error button{margin:4px}.form-success{background:#edf9f1;color:#20734a;border:1px solid #c9e9d5}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-header h1{margin-bottom:8px}.page-header p{margin-bottom:0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{border:1px solid #e1e7ef;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.course-cover{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#e7efff,#edf6f7);display:grid;place-items:center;color:#6e8bb1}.course-cover img{position:absolute;width:100%;height:100%;object-fit:cover}.course-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.course-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:58px;margin-bottom:8px}.course-meta,.continue-text{color:#66778c;font-size:13px}.continue-text{margin-top:12px;margin-bottom:20px;min-height:42px}.course-card .play-button{margin-top:auto}.course-card progress{width:100%;height:8px;accent-color:#2463d4;margin-top:16px;border:0}.study-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.study-header h1{font-size:22px;margin:0;flex:1}.study-header>span{font-size:14px;color:#66778c}.course-layout{display:grid;grid-template-columns:272px minmax(0,1fr);gap:24px;margin-top:16px;align-items:start}.course-layout.directory-hidden{grid-template-columns:minmax(0,1fr)}.chapter-panel,.player-panel{border:1px solid #e1e7ef;background:#fff;border-radius:12px;min-width:0}.chapter-panel{overflow:hidden}.course-heading{padding:20px;border-bottom:1px solid #e7edf4}.course-heading h2{font-size:17px;margin-bottom:8px}.course-heading p{margin:0;font-size:13px}.chapter-panel button{display:flex;align-items:flex-start;text-align:left;width:100%;border:0;border-radius:0;border-bottom:1px solid #eef1f5;border-left:3px solid transparent;padding:16px 12px;gap:10px;justify-content:flex-start}.chapter-panel button.active{border-left-color:#2463d4;background:#eaf2ff;color:#1c52b5}.chapter-label{flex:1;overflow-wrap:anywhere}.chapter-label small{display:block;font-size:12px;font-weight:400;margin-top:4px}.resource-icon{width:21px;height:24px;flex-shrink:0}.completed{color:#208455}.player-panel{padding:24px}.player-panel h3{margin-bottom:18px}.player-panel video{width:100%;aspect-ratio:16/9;background:#101724;border-radius:8px}.chapter-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.chapter-navigation button:last-child{margin-left:auto}.note-area{border-top:1px solid #e1e7ef;padding-top:16px;margin-top:20px}.note-area summary{font-weight:600;padding:8px 0}.note-area label{margin-top:12px}.note-actions{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap}.note-actions button{margin-top:8px}.note-actions span{font-size:13px;color:#66778c}.mobile-directory{display:none}.directory-dialog{border:0;border-radius:12px;padding:16px;width:min(360px,92vw);max-height:85svh}.directory-dialog::backdrop{background:#17233b66}.dialog-close{display:block;margin-left:auto;margin-bottom:12px}.pdf-reader{border:1px solid #dbe2eb;border-radius:8px;background:#edf0f4;overflow:hidden}.pdf-reader:fullscreen{overflow:auto}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#fff;border-bottom:1px solid #dbe2eb;position:sticky;top:0;z-index:2}.pdf-paging,.pdf-options{display:flex;align-items:center;gap:8px}.pdf-toolbar label{margin:0;white-space:nowrap;font-size:14px}.pdf-toolbar input{width:48px;padding:6px;margin:0 4px;text-align:center}.pdf-toolbar button{padding:6px 10px;min-height:38px;white-space:nowrap;font-size:14px}.pdf-more>summary{display:none}.pdf-more:not([open])>.pdf-options{display:flex}.pdf-options span{font-size:13px;white-space:nowrap}.pdf-page{max-height:72vh;overflow:auto;padding:16px;min-height:160px}.pdf-page canvas{display:block;margin:auto;background:#fff;box-shadow:0 2px 8px #17233b14}.pdf-reader>p{padding:12px;margin:0}.pdf-reader .form-error{margin:12px}.pdf-reader canvas{max-width:none}@media (max-width:1100px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-toolbar{flex-wrap:wrap}}@media (max-width:820px){.app-shell>main{padding:20px}.course-layout{grid-template-columns:minmax(0,1fr)}.desktop-directory{display:none}.mobile-directory{display:inline-flex}.top-bar{padding:12px 20px;flex-wrap:wrap}.player-panel{padding:16px}.study-header{align-items:flex-start}.study-header h1{flex-basis:100%;order:1}.pdf-more>summary{display:block;padding:6px}.pdf-more{position:relative}.pdf-more:not([open])>.pdf-options{display:none}.pdf-options{position:absolute;right:0;top:100%;padding:12px;box-shadow:0 8px 24px #24324720;background:#fff;border:1px solid #dbe2eb;border-radius:8px;z-index:4}.pdf-toolbar{flex-wrap:nowrap;gap:4px}.pdf-paging{gap:3px}.pdf-toolbar button{padding:6px;font-size:12px}.pdf-toolbar label{font-size:12px}.pdf-toolbar input{width:34px;margin:0 2px}.pdf-page{padding:8px}}@media (max-width:560px){.course-grid{grid-template-columns:minmax(0,1fr)}.top-title{font-size:17px}.top-bar nav{gap:2px}.top-bar nav>button,.account-menu summary{padding:7px 8px;font-size:13px}.page-header{align-items:flex-start}.page-header .primary-link{white-space:nowrap;font-size:13px}.login-card,.redeem-card{padding:24px}.chapter-navigation{gap:6px}.chapter-navigation button{padding:7px 9px;font-size:13px}}.skeleton-card{min-height:340px}.skeleton-line{height:16px;background:#edf1f6;border-radius:4px;margin-bottom:20px}.skeleton-line:last-child{width:65%}
