:root{color-scheme:light;--ink:#203c37;--muted:#6b7970;--green:#246b57;--line:#dfe5dc;--paper:#fafbf7;--cream:#f0f3e9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--green);border-radius:10px;padding:10px 15px;background:var(--green);color:white;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}button.secondary{border-color:var(--line);background:white;color:var(--ink);font-weight:500}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c19b56;outline-offset:3px}.topbar{padding:18px max(24px,calc((100vw - 1120px)/2));background:#fffdf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink)}.mark{background:var(--green);color:white;width:40px;height:44px;border-radius:12px 12px 3px 12px;text-align:center;font:italic 30px/44px Georgia,serif}.brand b{display:block;font:700 23px Georgia,serif;letter-spacing:-.6px}.brand small{font-size:11px;color:var(--muted)}.connection{font-size:12px;color:var(--muted);text-align:right}.connection.offline{color:#916528}main{max-width:1168px;margin:auto;padding:0 24px}.intro{padding:48px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;color:var(--green);font-weight:700;letter-spacing:2px;margin:0 0 9px}h1{font-size:36px;line-height:1.35;letter-spacing:-1px;font-weight:550;margin:0 0 13px}.muted{color:var(--muted);font-size:13px}.intro p:last-child{margin:0}.intro button{flex-shrink:0}.summary{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border:1px solid var(--line);border-radius:14px;margin-bottom:35px;padding:22px 0}.summary div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #dce3d3}.summary div:last-child{border:0}.summary strong{font:34px/1.3 Georgia,serif;font-variant-numeric:tabular-nums}.summary span{font-size:12px;color:var(--muted);margin-top:4px}.library-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:15px}h2{font-size:18px;font-weight:600;margin:0}.filters{display:flex;gap:20px;align-items:center}.search{flex:1}.search input{width:100%;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font-size:16px}.offline-filter{font-size:13px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}.offline-filter input{accent-color:var(--green);width:17px;height:17px}.message{min-height:23px;font-size:13px;color:var(--muted);margin:14px 0}.message.error{color:#a04523}.courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:13px}.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-type{font-size:11px;letter-spacing:1px;color:var(--green);font-weight:600}.badge{font-size:11px;border-radius:20px;padding:4px 9px;background:#f1f3ee;color:var(--muted)}.badge.downloaded{background:#edf4e9;color:#31633b}.badge.old{background:#fff1d9;color:#916528}.course h3{font-size:20px;line-height:1.45;margin:0;font-weight:600;overflow-wrap:anywhere}.course h3 a{text-decoration:none;color:var(--ink)}.preview{color:var(--muted);font-family:Georgia,"Segoe UI",serif;font-size:15px;line-height:1.65;margin:0;overflow-wrap:anywhere}.course-meta{font-size:12px;color:var(--muted);margin-top:auto}.course-progress{height:4px;border-radius:3px;background:#edf0e7;overflow:hidden}.course-progress span{display:block;height:100%;background:#8ba77b}.course-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:4px}.study{display:inline-block;background:var(--green);border-radius:10px;color:white;text-decoration:none;font-size:14px;font-weight:600;padding:10px 16px}.course-actions button{font-size:13px;padding:10px 12px}.course-actions .remove{margin-left:auto;border:0;color:var(--muted);background:transparent;font-size:12px;padding:8px}.help{margin:38px 0 28px;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.help h2{font-size:15px}.help p{font-size:12px;color:var(--muted);margin:9px 0}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.backup-actions button{font-size:12px;padding:7px 10px}footer{max-width:1168px;padding:0 24px max(24px,env(safe-area-inset-bottom));margin:auto;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.empty{text-align:center;padding:35px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:650px){.topbar{padding:15px 18px}.brand b{font-size:21px}.connection{font-size:11px;max-width:110px}main{padding:0 18px}.intro{padding-top:32px;align-items:flex-start;gap:10px}.intro button{font-size:12px;padding:8px 10px;margin-top:5px}h1{font-size:28px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro .muted{font-size:12px}.summary{padding:18px 0;margin-bottom:26px}.summary strong{font-size:28px}.summary span{font-size:11px}.library-heading{align-items:flex-start}.library-heading .muted{font-size:11px}.filters{gap:12px}.offline-filter{font-size:12px}.courses{grid-template-columns:1fr;gap:14px}.course{padding:21px}.course h3{font-size:19px}.help{grid-template-columns:1fr;gap:23px;margin-top:30px;padding-top:24px}footer{flex-direction:column;gap:5px;padding-left:18px;padding-right:18px}.message{font-size:12px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s}}
