:root{--ink:#1d352e;--green:#173f35;--green-light:#eaf0eb;--orange:#d77a49;--muted:#7e857e;--paper:#f7f7f2;--line:#e3e6dd;--white:#fff;--serif:Georgia,'Times New Roman',serif;font-family:Inter,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{border:0}button,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,article:focus-visible{outline:3px solid #d78b58;outline-offset:4px}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:35px 24px 24px;background:#f0f2e9;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:22px;letter-spacing:.02em}.brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:43px;background:var(--green);color:#f6f1df;border-radius:12px 12px 12px 3px}.brand-mark svg{width:23px;height:23px}.brand small{display:block;font-size:9px;letter-spacing:.18em;color:#849087;margin-top:6px;font-weight:600}.sidebar-label{margin:64px 12px 17px;font-size:10px;letter-spacing:.12em;color:#8e978c}.desktop-nav{display:flex;flex-direction:column;gap:8px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;background:none;color:#67746a;padding:15px 14px;border-radius:10px;text-align:left;font-size:13px;font-weight:550}.nav-item span{margin-left:auto;font-size:11px;opacity:.7}.nav-item.active{color:#fff;background:var(--green);box-shadow:0 5px 13px #163e3512}.nav-item:hover:not(.active){background:#e6ebdf}.sidebar-note{margin:52px 10px 28px;color:#83917e}.note-line{display:block;width:25px;height:2px;background:#c79461}.sidebar-note p{font-family:var(--serif),'Microsoft YaHei',sans-serif;font-size:17px;line-height:1.95;letter-spacing:.06em;color:#62715f;margin:20px 0 15px}.sidebar-note small{font-size:10px;letter-spacing:.04em}.sidebar-settings{display:flex;align-items:center;gap:10px;background:none;color:#6b776a;font-size:12px;margin-top:auto;padding:14px 10px}.sidebar-settings svg{width:17px;height:17px}.main{width:calc(100% - 232px);max-width:1490px;margin-left:232px;padding:28px 48px 78px}.mobile-header{display:none}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.eyebrow{font-size:10px;letter-spacing:.13em;color:#879080}.eyebrow i{display:inline-block;width:5px;height:5px;background:#d28d5e;border-radius:50%;margin-right:8px;vertical-align:2px}.text-button{background:none;display:flex;align-items:center;gap:7px;color:#7c8779;font-size:11px;padding:6px}.text-button svg{width:15px;height:15px}.welcome{min-height:286px;background:#e9eee3;border:1px solid #e1e8d9;border-radius:18px;padding:30px 36px;display:flex;position:relative;overflow:hidden}.welcome-copy{position:relative;z-index:1;flex:1}.welcome-kicker{font-size:10px;letter-spacing:.12em;color:#6c8068}.welcome h1{font-size:31px;line-height:1.6;letter-spacing:.025em;font-weight:600;margin:10px 0 8px}.welcome h1 span{color:var(--orange)}.welcome p{font-size:11px;color:#7e8a75;margin:0 0 22px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:8px;padding:12px 17px;min-height:42px;font-size:12px;font-weight:550;transition:background .15s,transform .15s;white-space:nowrap}.primary-button{background:var(--green);color:#fff}.primary-button:hover{background:#245647}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.primary-button svg,.secondary-button svg{width:16px;height:16px}.secondary-button{background:transparent;border:1px solid #dce1d6;color:#52634e}.secondary-button:hover{background:#edf0e8}.welcome-copy>small{display:block;font-size:9px;color:#94a08b;margin-top:10px}.welcome-art{position:relative;width:40%;max-width:375px;min-width:235px;flex-shrink:0}.art-card{position:absolute;width:205px;height:185px;left:35px;top:34px;background:#fefdf8;border-radius:12px;box-shadow:0 13px 30px #203c2910}.art-card-back{transform:rotate(-13deg) translate(10px,4px);background:#d3dfcc;border:1px solid #bccfb3}.art-card-front{transform:rotate(8deg);padding:22px}.art-label{font-size:6px;color:#9da491;letter-spacing:.12em}.art-card strong{display:block;font:33px var(--serif);margin:20px 0 4px;font-weight:600;letter-spacing:-.04em}.art-card em{display:block;font-family:var(--serif);font-size:11px;font-style:normal;color:#8e9a87}.art-meaning{display:block;font-size:9px;color:#7c8975;margin-top:17px}.art-sound{position:absolute;right:16px;bottom:19px;color:var(--orange)}.art-sound svg{width:20px;height:20px}.art-orbit{position:absolute;left:5px;top:6px;width:270px;height:250px;border:1px solid #d7dfcd;border-radius:50%;transform:rotate(35deg)}.orbit-two{width:310px;height:170px;left:-12px;top:45px;transform:rotate(-30deg)}.art-dot{position:absolute;left:4px;top:92px;width:8px;height:8px;border-radius:50%;background:#c88e60;z-index:1}.art-spark{position:absolute;right:33px;top:24px;font-size:26px;color:#c59269}.stats-strip{display:flex;margin:24px 0 42px;border-bottom:1px solid var(--line);padding:0 4px 25px;gap:24px}.stats-strip>div{display:flex;align-items:center;flex:1;gap:12px;min-width:0}.stats-strip>div+div{border-left:1px solid var(--line);padding-left:27px}.stat-icon{width:39px;height:39px;border-radius:11px;background:#eaf0e6;display:flex;align-items:center;justify-content:center;color:#698265}.stat-icon.warm{background:#f4ebe1;color:#bc895c}.stat-icon svg{width:18px;height:18px}.stats-strip p{margin:0;display:flex;align-items:baseline;gap:10px;white-space:nowrap}.stats-strip strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.05em}.stats-strip p>span{font-size:10px;color:#87907e}.progress-mini{margin-left:auto;min-width:55px;max-width:75px;width:25%;height:4px;border-radius:9px;background:#e4e9db;overflow:hidden}.progress-mini i{height:100%;display:block;background:#7a936b;width:0;transition:width .25s}.library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.section-kicker{font-size:8px;letter-spacing:.14em;color:#9a9f91}.library-heading h2{font-size:21px;font-weight:600;letter-spacing:.03em;margin:8px 0 0}.library-heading h2 span{font-family:var(--serif);font-size:15px;font-weight:400;color:#a2a992;margin-left:6px}.view-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px}.view-switch button{display:flex;align-items:center;gap:5px;background:transparent;color:#949c8d;padding:7px 11px;border-radius:5px;font-size:10px}.view-switch button.active{background:#e6ecdf;color:#3e5b37}.view-switch svg{width:15px;height:15px}.search-row{display:flex;gap:12px;margin-bottom:16px}.search-box{flex:1;position:relative;display:flex;align-items:center;min-width:0;background:#fff;border:1px solid #e0e4d9;border-radius:9px;padding:0 15px;gap:10px}.search-box svg{width:17px;height:17px;color:#96a18d}.search-box input{width:100%;border:0;background:none;outline:none;height:44px;color:var(--ink);font-size:12px;min-width:0}.search-box:focus-within{border-color:#87a37e;box-shadow:0 0 0 2px #87a37e16}.search-box input::placeholder{color:#a1a89a}.search-box input:focus-visible{outline:none}.search-box kbd{border:1px solid #e6e9df;color:#aab2a1;font-size:11px;border-radius:4px;padding:1px 6px}.search-row>.secondary-button{font-size:11px;background:#fff}.filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.book-tabs{display:flex;gap:5px}.book-tabs button{font-size:10px;background:none;color:#929a8b;border-radius:6px;padding:9px 12px;white-space:nowrap}.book-tabs button.active{background:var(--green-light);color:#4a6840;font-weight:650}.filter-tools{display:flex;gap:10px;align-items:center}.select-label select{border:1px solid #e1e5d9;border-radius:6px;background:transparent;color:#7d8876;max-width:147px;padding:6px 22px 6px 8px;height:31px;font-size:10px;cursor:pointer}.hide-meaning{display:flex;align-items:center;gap:5px;background:none;font-size:10px;color:#8a9482;white-space:nowrap;padding:6px 0}.hide-meaning svg{width:15px;height:15px}.hide-meaning[aria-pressed=true]{color:var(--orange)}.library-hint{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a2aa98;margin-bottom:15px}.library-hint>span:first-child{display:flex;align-items:center;gap:5px}.tiny-speaker{display:flex;color:#acb59f}.tiny-speaker svg{width:12px;height:12px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.word-card{position:relative;background:#fff;border:1px solid #e5e7de;border-radius:11px;padding:19px 19px 13px;cursor:pointer;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;animation:card-in .28s ease both}.word-card:hover{border-color:#adbfa1;box-shadow:0 6px 18px #244b2c08;transform:translateY(-2px)}.word-card.is-playing{border-color:#78966d;box-shadow:0 0 0 2px #78966d15}.word-card.is-loading{border-color:#c49c6f}.word-card.is-mastered{background:#fbfcf8}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.04em;color:#a6ad9c;margin-bottom:17px;min-height:10px}.card-stars{color:#cfa16c;letter-spacing:1px;font-size:9px}.word-play{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;padding:0;color:var(--ink);text-align:left}.word-title{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}.sound-button{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:#f0f4ea;color:#7a936b;flex-shrink:0}.sound-button svg{width:15px;height:15px}.is-playing .sound-button{color:#fff;background:#567b48;animation:sound-pulse 1s infinite}.is-loading .sound-button svg{animation:sound-pulse .6s infinite}.phonetic{font-size:12px;line-height:1.6;color:#9ba691;font-family:'Segoe UI',sans-serif;margin-top:7px;min-height:19px;word-break:break-word}.meaning{margin:14px 0 0;font-size:12px;line-height:1.7;color:#5b6d51;overflow-wrap:anywhere;min-height:20px}.meaning-hidden .meaning,.meaning-hidden .collocation,.meaning-hidden .example-zh{filter:blur(5px);user-select:none;pointer-events:none}.meaning-hidden .word-card.revealed .meaning,.meaning-hidden .word-card.revealed .collocation,.meaning-hidden .word-card.revealed .example-zh{filter:none;user-select:auto;pointer-events:auto}.collocation{font-size:10px;color:#9ca691;line-height:1.75;margin-top:9px;min-height:17px;overflow-wrap:anywhere}.collocation-label{font-size:8px;letter-spacing:.04em;color:#b0b8a6;margin-right:5px}.card-examples{border-top:1px solid #edf0e7;margin-top:13px;padding-top:12px;cursor:default}.example-en{font-family:var(--serif);font-size:14px;line-height:1.65;color:#67795d;margin:0;overflow-wrap:anywhere}.example-zh{font-size:10px;line-height:1.8;color:#9ca591;margin:7px 0 0;overflow-wrap:anywhere}.card-bottom{margin-top:16px;border-top:1px solid #f0f1e9;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:3px}.more-button,.reveal-button{font-size:9px;color:#9aa58d;background:none;display:flex;align-items:center;padding:6px 1px}.more-button:hover,.reveal-button:hover{color:#3d6332}.card-actions{display:flex;gap:4px}.card-action{width:29px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border-radius:6px;color:#b4bca8}.card-action svg{width:15px;height:15px}.card-action:hover{background:#f3f5ed}.card-action.favorite.active{color:var(--orange)}.card-action.favorite.active svg{fill:#d77a491a}.card-action.mastered.active{color:#597e4a;background:#ecf3e6}.card-number{font-size:8px;color:#bac1b0;margin-right:4px}.cards-grid.focus-mode{display:block;max-width:660px;margin:0 auto}.focus-mode .word-card{padding:31px 40px 23px;min-height:340px}.focus-mode .card-meta{margin-bottom:28px;font-size:10px}.focus-mode .word-title{font-size:48px}.focus-mode .phonetic{font-size:16px;margin-top:10px}.focus-mode .sound-button{width:46px;height:46px}.focus-mode .sound-button svg{width:23px;height:23px}.focus-mode .meaning{font-size:17px;margin-top:24px}.focus-mode .collocation{font-size:13px;margin-top:16px}.focus-mode .collocation-label{font-size:10px}.focus-mode .card-examples{margin-top:23px;padding-top:20px}.focus-mode .example-en{font-size:19px;line-height:1.8}.focus-mode .example-zh{font-size:13px;line-height:1.8}.focus-mode .card-bottom{margin-top:25px;padding-top:14px}.focus-mode .card-action{width:40px;height:34px}.focus-mode .card-action svg{width:20px;height:20px}.focus-mode .card-number,.focus-mode .more-button,.focus-mode .reveal-button{font-size:11px}.focus-controls{max-width:660px;margin:19px auto 0;display:flex;align-items:center;justify-content:space-between}.focus-controls>span{font-size:11px;color:#96a18b;font-variant-numeric:tabular-nums}.flip{transform:rotate(180deg)}.load-more-wrap{text-align:center;margin:26px 0 0}.load-more-wrap button{font-size:11px;min-width:180px}.page-footer{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#b0b7a6;border-top:1px solid #e5e8dd;padding-top:20px;margin-top:37px}.audio-status{position:fixed;left:256px;bottom:17px;max-width:calc(100% - 280px);min-height:33px;border:1px solid #e2e6d9;border-radius:9px;background:#f9fbf5f0;backdrop-filter:blur(12px);color:#8b9882;box-shadow:0 3px 13px #27452106;font-size:10px;padding:9px 12px;display:flex;gap:9px;align-items:center;z-index:9}.audio-dot{width:5px;height:5px;border-radius:50%;background:#9bae8b;flex-shrink:0}.audio-status.playing .audio-dot{background:#618746;animation:sound-pulse .8s infinite}.audio-status.error{border-color:#e5c9ae;color:#ae724a}.audio-status.error .audio-dot{background:#bf8255}.audio-accent{border-left:1px solid #e1e7d8;padding-left:10px;margin-left:4px;white-space:nowrap;opacity:.7}.mobile-nav{display:none}.loading-state,.empty-state{grid-column:1/-1;text-align:center;min-height:230px;padding:40px 20px;color:#9aa68f;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-state strong,.empty-state strong{font-size:16px;color:#69815c;font-weight:500;margin-top:16px}.loading-state p,.empty-state p{line-height:1.9;max-width:380px}.empty-state svg{width:32px;height:32px;color:#aebba1}.loading-spinner{display:inline-block;width:24px;height:24px;border:2px solid #dde7d4;border-top-color:#7c9b69;border-radius:50%;animation:spin .8s linear infinite}.icon-button{width:36px;height:36px;background:transparent;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#87967d}.icon-button:hover{background:#edf1e7}.icon-button svg{width:18px;height:18px}dialog{padding:0;border:1px solid #dde4d5;border-radius:17px;background:#fafbf7;color:var(--ink);width:min(540px,calc(100% - 28px));max-height:86dvh;box-shadow:0 22px 80px #162d2330}dialog::backdrop{background:#1a30275c;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:27px 28px 20px;border-bottom:1px solid #e9eddf}.dialog-header h2{font-size:21px;font-weight:550;letter-spacing:.03em;margin:8px 0 0}.dialog-body{padding:0 28px 25px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e9eddf;padding:20px 0}.setting-row strong,.guide-box>strong,.data-section>strong{font-size:12px;font-weight:600}.setting-row p,.data-section>p{font-size:10px;color:#98a18e;margin:7px 0 0;line-height:1.8}.segmented{display:flex;gap:3px;background:#edf1e7;padding:3px;border-radius:8px}.segmented button{font-size:11px;padding:8px 11px;background:none;border-radius:6px;color:#99a28f;white-space:nowrap}.segmented button.active{background:#fff;color:#547448;box-shadow:0 1px 4px #31512708}.guide-box{background:#edf2e7;padding:16px 17px;border-radius:10px;margin:23px 0}.guide-box>strong{display:flex;align-items:center;gap:8px;color:#668357}.guide-box svg{width:15px;height:15px}.guide-box p{font-size:10px;line-height:1.9;color:#849578;margin:12px 0 0}.guide-box b{font-weight:550;color:#6d835f}.data-section p{margin-bottom:12px}.data-actions{display:flex;gap:10px;margin-top:13px}.data-actions button{font-size:10px;padding:9px 12px;min-height:35px}.keyboard-hint{border-top:1px solid #e8ecdf;padding-top:18px;margin-top:20px!important}kbd{font-family:inherit;font-size:9px;border:1px solid #dfe6d4;border-radius:4px;padding:2px 5px;background:#f8faf4;color:#9aa68d;margin:0 2px}.source-note{font-size:9px;color:#a6af9b;line-height:1.8;margin:19px 0 0}.toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%,10px);padding:12px 20px;background:#244737;color:#fff;font-size:12px;line-height:1.7;border-radius:9px;z-index:50;max-width:calc(100% - 32px);width:max-content;box-shadow:0 5px 20px #1b302622;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.cache-progress{font-size:10px;color:#899a7d;line-height:1.8;margin:12px 0 0}.cache-button{margin-top:12px;font-size:10px;min-height:36px}.cache-help{font-size:9px!important;color:#9ba78f!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sound-pulse{50%{opacity:.4}}@keyframes card-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1500px){.main{padding:35px 65px 78px}.welcome{padding:36px 45px;min-height:310px}.welcome h1{font-size:35px}.welcome-art{margin-right:50px}.art-card{top:40px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.word-card{padding:23px 23px 17px}.word-title{font-size:29px}.meaning{font-size:13px}.collocation{font-size:11px}}@media(max-width:1170px){.sidebar{width:205px;padding-left:18px;padding-right:18px}.main{margin-left:205px;width:calc(100% - 205px);padding-left:30px;padding-right:30px}.brand{font-size:20px}.stats-strip{gap:17px}.stats-strip>div+div{padding-left:18px}.stats-strip p{display:flex;flex-direction:column;gap:2px}.stats-strip strong{font-size:24px}.progress-mini{max-width:65px}.filters{gap:10px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome h1{font-size:27px}.welcome-art{min-width:210px}.art-card{left:20px;width:180px}.art-card strong{font-size:30px}.art-orbit{left:0;width:240px}.orbit-two{left:-25px;width:270px}.art-spark{right:5px}.audio-status{left:229px;max-width:calc(100% - 250px)}}@media(max-width:850px){.sidebar{width:180px;padding:28px 14px 20px}.brand{font-size:18px;gap:9px}.brand-mark{width:35px;height:38px}.brand-mark svg{width:21px;height:21px}.brand small{font-size:7px}.sidebar-label{font-size:9px;margin-top:50px}.nav-item{padding:13px 11px;font-size:12px;gap:9px}.nav-item span{font-size:10px}.sidebar-note{margin-left:8px}.sidebar-note p{font-size:15px}.sidebar-note small{font-size:8px}.sidebar-settings{font-size:10px}.main{margin-left:180px;width:calc(100% - 180px);padding:25px 24px 78px}.welcome{padding:26px 26px;min-height:265px}.welcome h1{font-size:24px}.welcome p{font-size:10px}.welcome-art{min-width:155px}.art-card{width:145px;height:165px;padding:17px;left:10px;top:40px}.art-card strong{font-size:25px;margin-top:17px}.art-label{font-size:5px}.art-card em{font-size:9px}.art-meaning{font-size:8px;margin-top:15px}.art-sound{right:12px;bottom:12px}.art-orbit{left:-13px;top:21px;width:195px;height:205px}.orbit-two{left:-35px;width:220px;height:155px;top:43px}.art-spark{font-size:20px;right:-8px;top:25px}.stats-strip>div{gap:9px}.stat-icon{width:32px;height:32px;border-radius:8px}.stat-icon svg{width:15px;height:15px}.stats-strip strong{font-size:22px}.stats-strip p>span{font-size:9px}.stats-strip>div+div{padding-left:15px}.progress-mini{display:none}.stats-strip{gap:14px;margin-bottom:34px}.book-tabs button{font-size:9px;padding:8px 9px}.page-footer{font-size:8px;flex-direction:column;gap:8px}.audio-status{left:200px;max-width:calc(100% - 220px)}.filter-tools{width:100%;justify-content:flex-end}.word-card{padding:17px 17px 12px}.word-title{font-size:25px}}@media(max-width:650px){.sidebar{display:none}.main{margin-left:0;width:100%;padding:0 20px 142px}.mobile-header{height:76px;display:flex;align-items:center;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:650;letter-spacing:.02em}.mobile-header .brand-mark{width:33px;height:35px;border-radius:10px 10px 10px 3px}.mobile-header .brand-mark svg{width:19px;height:19px}.topline{margin-bottom:13px}.eyebrow{font-size:9px;letter-spacing:.07em}.help-button{font-size:9px;padding:0}.help-button svg{width:13px;height:13px}.welcome{min-height:242px;padding:23px 23px;border-radius:14px}.welcome-kicker{font-size:9px;letter-spacing:.06em}.welcome h1{font-size:23px;line-height:1.65;letter-spacing:.02em;margin:11px 0 9px}.welcome p{font-size:9px;line-height:1.8;max-width:190px;margin-bottom:17px}.welcome-copy>small{font-size:8px;margin-top:10px}.welcome .primary-button{font-size:10px;padding:10px 13px;min-height:36px;gap:14px}.welcome-art{position:absolute;width:125px;min-width:0;right:2px;top:28px;bottom:0;opacity:.92}.art-card{width:124px;height:146px;left:0;top:46px;padding:14px}.art-card-front{transform:rotate(11deg)}.art-card-back{transform:rotate(-9deg) translate(0,4px)}.art-card strong{font-size:22px;margin-top:17px}.art-card em{font-size:8px}.art-label{font-size:4px}.art-meaning{font-size:7px;margin-top:17px}.art-sound svg{width:16px;height:16px}.art-orbit{left:-13px;top:30px;width:160px;height:165px}.orbit-two{left:-20px;top:51px;width:165px;height:119px}.art-dot{width:5px;height:5px;left:-10px;top:105px}.art-spark{right:10px;top:22px;font-size:18px}.stats-strip{margin:22px 0 30px;padding:0 1px 22px;gap:10px}.stats-strip>div{gap:8px}.stats-strip>div+div{padding-left:11px}.stat-icon{width:30px;height:32px;border-radius:8px}.stat-icon svg{width:14px;height:14px}.stats-strip p{gap:3px}.stats-strip strong{font-size:23px}.stats-strip p>span{font-size:8px}.library-heading{margin-bottom:19px}.section-kicker{font-size:7px;letter-spacing:.13em}.library-heading h2{font-size:19px;margin-top:7px}.library-heading h2 span{font-size:13px}.view-switch{gap:2px;padding:3px}.view-switch button{padding:6px 8px;font-size:9px;gap:4px}.view-switch svg{width:13px;height:13px}.search-row{gap:8px;margin-bottom:14px}.search-box{padding:0 12px;gap:8px;border-radius:8px}.search-box input{height:42px;font-size:11px}.search-box svg{width:16px;height:16px}.search-box kbd{display:none}.search-row>.secondary-button{padding:10px 12px;min-height:42px;gap:6px;font-size:10px;border-radius:8px}.search-row>.secondary-button svg{width:14px;height:14px}.filters{gap:12px;margin-bottom:15px}.book-tabs{width:100%;justify-content:space-between;gap:5px}.book-tabs button{font-size:10px;padding:9px 10px;flex:1}.filter-tools{justify-content:space-between;gap:8px}.select-label{flex:1;max-width:35%}.select-label select{font-size:9px;padding-left:7px;padding-right:16px;width:100%;max-width:100%;height:29px}.hide-meaning{font-size:9px;gap:4px}.hide-meaning svg{width:13px;height:13px}.library-hint{font-size:8px;margin-bottom:13px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.word-card{padding:15px 14px 10px;border-radius:10px}.card-meta{font-size:7px;margin-bottom:15px;letter-spacing:0;gap:3px}.card-stars{font-size:7px;letter-spacing:0}.word-title{font-size:25px;line-height:1.2}.sound-button{width:24px;height:24px}.sound-button svg{width:13px;height:13px}.word-play{gap:4px}.phonetic{font-size:10px;margin-top:7px;min-height:16px}.meaning{font-size:10px;line-height:1.8;margin-top:12px;min-height:18px}.collocation{font-size:8px;line-height:1.8;margin-top:7px;min-height:14px}.collocation-label{font-size:7px;display:none}.card-bottom{margin-top:12px;padding-top:8px;gap:0}.card-actions{gap:0}.card-action{width:25px;height:26px}.card-action svg{width:14px;height:14px}.more-button,.reveal-button{font-size:8px}.card-number{font-size:7px;margin-right:2px}.example-en{font-size:12px}.example-zh{font-size:9px}.card-examples{margin-top:10px;padding-top:10px}.focus-mode .word-card{padding:25px 26px 20px;min-height:340px}.focus-mode .word-title{font-size:40px}.focus-mode .phonetic{font-size:14px}.focus-mode .meaning{font-size:15px}.focus-mode .collocation{font-size:12px}.focus-mode .example-en{font-size:17px}.focus-mode .example-zh{font-size:12px}.focus-mode .card-meta{font-size:9px;margin-bottom:22px}.focus-mode .card-stars{font-size:10px;letter-spacing:1px}.focus-mode .card-action{width:35px;height:34px}.focus-controls{margin-top:16px}.focus-controls button{font-size:11px;padding:11px 14px}.focus-controls>span{font-size:10px}.page-footer{margin-top:28px;padding-top:17px;font-size:8px;line-height:1.7;gap:3px}.audio-status{left:12px;right:12px;bottom:calc(69px + env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:9px;font-size:9px;min-height:32px;padding:8px 10px;gap:7px;box-shadow:none}.audio-status-text{min-width:0;overflow:hidden}.audio-accent{margin-left:auto;font-size:8px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:center;background:#f9fbf5f5;backdrop-filter:blur(15px);border-top:1px solid #e0e6d5;padding:7px 9px calc(8px + env(safe-area-inset-bottom));z-index:10;height:calc(61px + env(safe-area-inset-bottom))}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:57px;min-height:44px;font-size:9px;color:#a0aa94;background:none;border-radius:9px}.mobile-nav button svg{width:18px;height:18px}.mobile-nav button.active{color:#365c2b;background:#e8efdf}.toast{bottom:calc(112px + env(safe-area-inset-bottom));font-size:11px}.dialog-header{padding:22px 22px 18px}.dialog-header h2{font-size:19px}.dialog-body{padding:0 22px 22px}.setting-row{padding:18px 0}.setting-row strong,.guide-box>strong,.data-section>strong{font-size:11px}.segmented button{font-size:10px;padding:8px 10px}.setting-row p{font-size:9px}.guide-box{margin:20px 0;padding:15px}.guide-box p{font-size:9px}.data-section>p{font-size:9px}.keyboard-hint{display:none}.load-more-wrap{margin-top:22px}.load-more-wrap button{font-size:10px}.empty-state{min-height:250px;padding:30px 20px}}@media(max-width:380px){.main{padding-left:15px;padding-right:15px}.welcome{padding:21px 19px}.welcome h1{font-size:21px}.welcome-art{right:-16px;opacity:.8}.welcome p{max-width:175px}.stat-icon{display:none}.stats-strip>div{justify-content:center}.stats-strip>div+div{padding-left:10px}.stats-strip p{align-items:center}.stats-strip strong{font-size:24px}.cards-grid{gap:9px}.word-card{padding:14px 11px 9px}.word-title{font-size:23px}.sound-button{width:21px;height:21px}.card-stars{font-size:6px}.card-meta{font-size:6px}.book-tabs button{font-size:9px;padding:8px 6px}.search-row>.secondary-button{padding:10px}.search-row>.secondary-button span{display:none}.audio-status{font-size:8px}.audio-accent{font-size:7px}.focus-mode .word-card{padding:23px 23px 19px}.focus-mode .word-title{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){.mobile-header{height:68px}.topline{display:none}.welcome{min-height:164px;padding:19px 20px}.welcome-kicker,.welcome p{display:none}.welcome h1{font-size:21px;line-height:1.5;margin:0 0 13px}.welcome .primary-button{min-height:32px;padding:8px 12px;font-size:9px}.welcome-copy>small{font-size:7px;margin-top:8px}.welcome-art{top:0;right:5px;transform:scale(.84);transform-origin:right center}.stats-strip{margin:18px 0 25px;padding-bottom:18px}.library-heading{margin-bottom:17px}.search-row{margin-bottom:13px}.filters{margin-bottom:12px}.library-hint{margin-bottom:11px}.word-title{font-size:23px}}
@media(max-width:380px){.welcome{padding:18px}.welcome h1{font-size:20px}.welcome-art{right:-14px}.word-title{font-size:22px}}
@media(max-width:650px){.cards-grid:not(.focus-mode) .word-card .word-play{display:block}.cards-grid:not(.focus-mode) .word-card .word-play .sound-button{position:absolute;top:13px;right:13px;width:23px;height:23px}.cards-grid:not(.focus-mode) .word-card .card-meta{padding-right:25px;min-height:23px;margin-bottom:9px;align-items:flex-start;padding-top:3px}.cards-grid:not(.focus-mode) .word-card .card-meta>span:nth-child(2):not(.card-stars){display:none}.word-title{font-size:24px}.phonetic{font-size:11px}.meaning{font-size:11px}.collocation{font-size:9px}.focus-mode .word-play{display:flex}.focus-mode .word-play .sound-button{position:static}.focus-mode .card-meta{padding-right:0}}

@media(max-width:650px){.cards-grid{grid-template-columns:minmax(0,1fr);gap:13px}.word-card{padding:20px 22px 14px}.word-title{font-size:30px;overflow-wrap:normal;word-break:normal}.cards-grid:not(.focus-mode) .word-card .card-meta{font-size:9px;min-height:22px;margin-bottom:8px;padding-top:2px;padding-right:35px}.cards-grid:not(.focus-mode) .word-card .word-play .sound-button{width:29px;height:29px;top:17px;right:20px}.cards-grid:not(.focus-mode) .word-card .word-play .sound-button svg{width:16px;height:16px}.card-stars{font-size:9px;letter-spacing:1px}.phonetic{font-size:13px;margin-top:7px}.meaning{font-size:13px;line-height:1.8;margin-top:13px}.collocation{font-size:11px;line-height:1.8;margin-top:7px}.collocation-label{display:inline;font-size:9px}.card-bottom{margin-top:14px;padding-top:9px}.more-button,.reveal-button{font-size:10px}.card-action{width:34px;height:31px}.card-action svg{width:17px;height:17px}.card-number{font-size:9px;margin-right:9px}.card-examples{margin-top:14px;padding-top:14px}.example-en{font-size:17px;line-height:1.7}.example-zh{font-size:12px;line-height:1.8}.focus-mode .word-title{font-size:clamp(27px,9vw,40px)}.focus-mode .phonetic{font-size:14px}.focus-mode .meaning{font-size:15px}.focus-mode .collocation{font-size:12px}.focus-mode .card-number,.focus-mode .more-button,.focus-mode .reveal-button{font-size:11px}}
@media(max-width:380px){.word-title{font-size:28px}.word-card{padding-left:20px;padding-right:20px}.focus-mode .word-title{font-size:clamp(25px,8.5vw,36px)}}
.art-card-front{font:inherit;color:var(--ink);text-align:left;border:0}.art-card-front:hover{box-shadow:0 16px 32px #203c2924}.art-card-front:disabled{cursor:wait}.art-card-front strong{font-size:calc(33px * var(--hero-fit,1));white-space:nowrap}.art-card-front em,.art-meaning{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.art-label{display:block}.art-sound{pointer-events:none}
@media(max-width:850px){.art-card-front strong{font-size:calc(25px * var(--hero-fit,1))}}
@media(max-width:650px){.art-card-front strong{font-size:calc(20px * var(--hero-fit,1))}}
@media(max-width:650px){.art-card{top:30px}.art-orbit{top:14px}.orbit-two{top:35px}.art-dot{top:89px}.art-spark{top:13px}}
.welcome-art{z-index:2;pointer-events:none}.art-card-front{pointer-events:auto}
/* Clip decorative rotations without creating a horizontal scroll container on focus. */
@supports (overflow:clip){.welcome{overflow:clip}}
@media(max-width:380px){.welcome-art{right:11px;transform:scale(.7);transform-origin:right center}.welcome h1{font-size:18px}}
/* Continuous listening keeps the same quiet, readable study surface. */
.listen-panel{border:1px solid #dbe4d5;border-radius:12px;background:#edf2e7;margin:18px 0 20px;scroll-margin-top:20px;overflow:hidden}.listen-header{display:flex;align-items:center;gap:12px;padding:12px 15px}.listen-heading-button{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;text-align:left;color:var(--green);padding:0}.listen-mark{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#5a7b4b;background:#dde8d4;flex-shrink:0}.listen-mark svg{width:18px;height:18px}.listen-heading-button>span:nth-child(2){min-width:0}.listen-heading-button strong{display:block;font-size:15px;letter-spacing:.06em;font-weight:650}.listen-heading-button small{display:block;font-size:9px;color:#8c9a7e;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.listen-chevron{font-size:17px;color:#8e9e80;margin-left:auto;transition:transform .15s}.expanded .listen-chevron{transform:rotate(180deg)}.listen-header>.primary-button{font-size:11px;min-height:36px;gap:7px;padding:9px 12px;max-width:160px}.listen-header>.primary-button svg{width:14px;height:14px;fill:currentColor;stroke-width:1}.listen-body{border-top:1px solid #dfe8d8;padding:17px 20px 19px}.listen-scope{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.listen-scope label{font-size:10px;color:#839777}.listen-scope select{border:1px solid #d1ddc8;background:#f8faf4;border-radius:6px;color:#567247;padding:7px 25px 7px 9px;min-width:0;max-width:190px;font-size:11px}.listen-scope>span{margin-left:auto;font-size:9px;color:#91a083}.listen-now{margin:19px 0 14px;min-width:0}.listen-now-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#8a9b7c;margin-bottom:12px}.listen-now-top>span:first-child{color:#60834e}.listen-now-top>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.listen-now>strong{display:block;font-family:var(--serif);font-size:34px;line-height:1.25;font-weight:500;color:#244936;overflow-wrap:break-word}.listen-now>span{display:block;font-size:13px;color:#91a181;margin-top:6px;overflow-wrap:anywhere}.listen-now>p{font-size:12px;line-height:1.8;color:#658056;margin:10px 0 0;overflow-wrap:anywhere}.native-player{min-width:0;margin:13px 0}.native-player audio{display:block;width:100%;max-width:100%;min-width:0;height:43px;border-radius:9px}.listen-controls{display:grid;grid-template-columns:1fr 1.7fr 1fr 38px;gap:8px;align-items:center}.listen-controls .primary-button,.listen-controls .secondary-button{min-width:0;padding:10px 9px;min-height:39px;font-size:11px;gap:6px}.listen-controls svg{width:15px;height:15px}.listen-controls .primary-button svg{fill:currentColor;stroke-width:1}.listen-stop{width:38px;height:39px;display:flex;align-items:center;justify-content:center;background:#e3ebdb;border:1px solid #d6e1cc;border-radius:8px;color:#89a078}.listen-stop:hover{background:#d7e4cd}.listen-stop svg{width:15px;height:15px}.listen-options{display:flex;align-items:center;gap:11px;margin:15px 0 11px;flex-wrap:wrap}.listen-options .segmented{background:#dfe9d6}.listen-options .segmented button{font-size:10px;padding:7px 11px}.listen-options .segmented button.active{background:#fff}.listen-loop{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:10px;color:#7c926d;cursor:pointer;white-space:nowrap}.listen-loop input{accent-color:var(--green);width:15px;height:15px;margin:0}.listen-message{font-size:10px;line-height:1.9;color:#8e9f80;margin:8px 0 15px;overflow-wrap:anywhere}.listen-direct{border-top:1px solid #dae5d0;padding-top:14px}.listen-direct>span{font-size:10px;color:#7e956d;display:block}.listen-direct>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:11px}.listen-link{display:inline-flex;align-items:center;gap:5px;color:#466d36;font-size:11px;text-decoration:underline;text-decoration-color:#abbf9a;text-underline-offset:4px}.listen-link svg{width:13px;height:13px}.listen-direct>small{display:block;font-size:9px;line-height:1.8;color:#9aac8b;margin-top:10px}.listen-panel[data-status=playing]{border-color:#adc39b}.listen-panel[data-status=playing] .listen-mark{background:#cfdfc2;color:#486f36}.listen-panel[data-status=error] .listen-now-top>span:first-child{color:#b57e52}.basic-player-link{font-size:10px;color:#657f52;text-decoration:underline;text-underline-offset:3px}.has-fallback-dialog:before{content:"";position:fixed;inset:0;background:#1a30275c;backdrop-filter:blur(3px);z-index:30}.dialog-fallback{display:block;position:fixed;top:7vh;left:50%;transform:translateX(-50%);margin:0;z-index:40;max-height:86vh;overflow:auto}dialog:not([open]){display:none}
@media(max-width:850px){.listen-scope>span{font-size:8px}.listen-scope select{font-size:10px;max-width:160px}.listen-body{padding:15px 17px 17px}.listen-options{gap:8px}.listen-options .segmented button{padding:7px 9px}}
@media(max-width:650px){.listen-panel{margin:14px 0 17px;border-radius:10px;scroll-margin-top:15px}.listen-header{padding:11px 12px;gap:10px}.listen-mark{width:29px;height:31px;border-radius:8px}.listen-mark svg{width:16px;height:16px}.listen-heading-button{gap:8px}.listen-heading-button strong{font-size:14px}.listen-heading-button small{font-size:8px;margin-top:5px}.listen-header>.primary-button{font-size:10px;padding:9px 10px;min-height:34px;gap:6px;max-width:132px}.listen-header>.primary-button svg{width:12px;height:12px}.listen-chevron{font-size:15px}.listen-body{padding:14px 15px 16px}.listen-scope{gap:8px}.listen-scope label{font-size:10px}.listen-scope select{flex:1;max-width:none;font-size:10px}.listen-scope>span{flex-basis:100%;text-align:right;font-size:9px;margin-top:1px}.listen-now{margin:15px 0 12px}.listen-now-top{font-size:9px;margin-bottom:10px}.listen-now>strong{font-size:31px}.listen-now>span{font-size:12px}.listen-now>p{font-size:12px;margin-top:9px}.native-player{margin:12px 0}.native-player audio{height:42px}.listen-controls{grid-template-columns:1fr 1.7fr 1fr 32px;gap:7px}.listen-controls .primary-button,.listen-controls .secondary-button{font-size:10px;min-height:38px;padding:9px 6px;gap:4px}.listen-controls svg{width:13px;height:13px}.listen-stop{width:32px;height:38px}.listen-options{gap:8px;margin:13px 0 10px}.listen-options .segmented button{font-size:9px;padding:7px 10px}.listen-loop{font-size:9px;gap:4px}.listen-message{font-size:9px;line-height:1.85;margin-bottom:13px}.listen-direct{padding-top:12px}.listen-direct>span{font-size:9px}.listen-link{font-size:10px}.listen-direct>div{gap:11px 16px}.listen-direct>small{font-size:8px;line-height:1.9}.basic-player-link{font-size:9px}}
@media(max-width:380px){.listen-body{padding-left:12px;padding-right:12px}.listen-header{padding-left:11px;padding-right:11px}.listen-header>.primary-button{font-size:9px;padding-left:9px;padding-right:9px}.listen-heading-button strong{font-size:13px}.listen-heading-button small{font-size:7px}.listen-mark{width:26px;height:28px}.listen-controls #listen-prev span,.listen-controls #listen-next span{display:none}.listen-controls{grid-template-columns:1fr 2fr 1fr 30px;gap:6px}.listen-stop{width:30px}.listen-options{gap:6px}.listen-options .segmented{gap:1px;padding:2px}.listen-options .segmented button{font-size:9px;padding:7px 8px}.listen-now>strong{font-size:28px}}
