:root{--bg:#f5f4ef;--paper:#fffefa;--soft:#eeeee5;--ink:#193b31;--text:#343e36;--muted:#69736b;--accent:#386a53;--accent-light:#e8eee1;--line:#dcded3;--serif:Georgia,"Noto Serif TC","Songti TC",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;--shadow:0 18px 70px #173b3019;color-scheme:light}
:root[data-theme="dark"]{--bg:#131b17;--paper:#1a241e;--soft:#253127;--ink:#e1ebdd;--text:#d1d9ce;--muted:#a1b09f;--accent:#b8d2a5;--accent-light:#2d3e2d;--line:#364336;--shadow:0 18px 70px #0006;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 var(--sans);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{cursor:default;opacity:.45}a{color:inherit}button,input,select,textarea,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--text);padding:10px;max-width:100%}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}select{min-height:40px}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:var(--ink);color:var(--paper);padding:10px}.skip-link:focus{top:8px}
.site-header{position:sticky;top:0;z-index:25;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.header-inner{max-width:1280px;margin:auto;min-height:90px;padding:15px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.brand img{border-radius:10px;flex-shrink:0}.brand>span{display:flex;flex-direction:column;min-width:0}.brand strong{font:600 27px/1.1 Georgia,serif;letter-spacing:-.04em;color:var(--ink)}.brand-dot{color:var(--accent)}.brand small{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.language-picker select{border:0;background:transparent;font-size:12px;padding:6px;min-height:40px;width:68px}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}.icon-button:hover,.account-button:hover{background:var(--soft)}.account-button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:24px;padding:10px 15px;font-size:12px;min-height:40px}.account-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted)}body[data-account="signed-in"] .account-dot{background:#68a56e}
main{min-height:calc(100vh - 175px)}.vocabulary-host{max-width:1240px;padding:48px 40px 64px}.vocab-heading h1{font-size:36px;letter-spacing:.025em}.vocab-eyebrow{font-size:10px!important;letter-spacing:.17em}.vocab-heading>div>p:last-child{font-size:14px}.vocab-corpus-counts{font-size:11px;gap:6px 20px}.vocab-tabs{gap:22px}.vocab-tabs>button{font-size:14px;padding-bottom:16px}.vocab-tabs>button.active{color:var(--ink)}.vocab-chapter-controls{background:var(--paper);border-radius:12px;border:1px solid var(--line);padding:20px}.vocab-card{padding:22px;box-shadow:0 2px 10px #173b3003}.vocab-card-grid{gap:15px}.vocab-card:hover{box-shadow:0 3px 15px #173b3007}.vocab-card-meta,.vocab-form-line,.vocab-list-caption{font-size:11px}.vocab-pos{font-size:11px}.vocab-form-line>span:first-child{font-size:10px}.vocab-context-note{font-size:12px}.vocab-mode-hint{font-size:13px}.vocab-filter-controls .vocab-filter-primary>label,.vocab-filter-controls .vocab-advanced-toolbar>label{font-size:12px}.vocab-gloss>span:lang(en),.vocab-gloss>span:lang(zh){font-size:14px}.vocab-filter-controls input,.vocab-filter-controls select{font-size:14px}.vocab-detail-section>h3{font-size:14px}.vocab-sense-note{font-size:12px}.vocab-example-ref{font-size:12px}.vocab-example-ref .vocab-text-button{font-size:12px}.vocab-example-line p{font-size:17px}.vocab-example-line:lang(zh) p{font-size:16px}.vocab-language-label{font-size:10px}.vocab-note-saved{font-size:12px}.vocab-note-label,.vocab-detail-actions>label{font-size:13px}.vocab-button{font-size:13px}.vocab-message{font-size:12px;line-height:1.7}.vocab-pagination>span{font-size:12px}.vocab-empty p,.vocab-review-empty p,.vocab-review-intro p{font-size:14px}.vocab-review-intro>span{font-size:12px}.vocab-detail-layer{z-index:60}.vocab-detail{box-shadow:var(--shadow)}
.site-footer{max-width:1200px;margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.site-footer button{text-decoration:underline;text-underline-offset:4px;font-size:11px}.boot-message{text-align:center;padding:80px 20px;color:var(--muted)}
dialog{color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:0;max-height:calc(100dvh - 60px);overscroll-behavior:contain}dialog::backdrop{background:#0c2119a6;backdrop-filter:blur(4px)}.settings-dialog{width:min(620px,calc(100vw - 32px));padding:30px 32px}.dialog-heading,.reader-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:10px}.dialog-heading h2{font:500 28px/1.3 var(--serif);color:var(--ink);margin:0}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--accent);margin-bottom:8px}.close-button{font-size:27px;line-height:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.close-button:hover{background:var(--soft)}.settings-section{padding:25px 0;border-bottom:1px solid var(--line)}.settings-section:last-child{border:0;padding-bottom:5px}.settings-section h3{font-size:15px;margin:0 0 10px;color:var(--ink)}.settings-section p{font-size:13px;line-height:1.85;margin-bottom:14px}.settings-section summary{cursor:pointer;color:var(--accent);font-size:14px}.about-section[open] summary{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:12px!important}.check-row{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted);margin:18px 0}.check-row input{margin-top:4px;flex-shrink:0}.button-row,.form-row{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 8px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:41px;border-radius:8px;padding:10px 15px;font-size:13px;border:1px solid var(--line)}.primary-button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.secondary-button{background:var(--paper)}.primary-button:hover{opacity:.85}.secondary-button:hover{background:var(--soft)}.offline-download{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:16px;margin:18px 0}.offline-download progress{width:100%;accent-color:var(--accent);height:7px;margin:14px 0 4px}.offline-download-count,.offline-download-storage{font-size:12px;color:var(--muted);margin:8px 0}.offline-download-error{color:#ab4836;font-size:12px!important}.offline-download-error:empty,.offline-download-count:empty{display:none}.offline-storage-note{font-size:12px!important;color:var(--muted)}.app-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;background:var(--ink);color:var(--paper);border:1px solid var(--line);padding:12px 20px;box-shadow:var(--shadow);border-radius:12px;max-width:calc(100vw - 32px);font-size:13px}
.scripture-dialog{width:min(1160px,calc(100vw - 64px));padding:30px 36px}.reader-toolbar{margin-bottom:22px}.reader-toolbar h2{font:500 30px/1.3 var(--serif);margin:0;color:var(--ink)}.reader-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}.reader-language-controls{display:flex;gap:14px;align-items:center;flex:1}.reader-language-controls label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.reader-move{display:flex;gap:7px}.reader-move button{font-size:22px;min-width:39px;padding:0 8px}.reader-hint{font-size:12px;color:var(--muted);margin:16px 0 20px}.scripture-verse{padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px;position:relative}.scripture-verse.is-target{border-radius:10px;background:var(--accent-light);padding:22px 16px;margin:0 -16px}.verse-number{display:block;font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent);margin-bottom:13px}.verse-languages{display:grid;grid-template-columns:repeat(var(--reader-columns,3),minmax(0,1fr));gap:28px}.verse-language{min-width:0}.verse-language>span{font-size:9px;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:5px}.verse-language p{white-space:pre-wrap;font:17px/1.9 var(--serif);margin:0;overflow-wrap:anywhere}.verse-language[lang=es] p{font-size:20px;color:var(--ink)}.scripture-word{font:inherit;display:inline;border-radius:3px;padding:0;line-height:inherit;text-align:inherit}.scripture-word:hover,.scripture-word:focus-visible{background:var(--accent-light);color:var(--ink);text-decoration:underline;text-underline-offset:4px}.verse-language small{font-size:11px;color:var(--muted)}.reader-error{text-align:center;padding:40px 0;color:var(--muted)}
@media(min-width:1100px){.vocab-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1240px){.site-footer{margin-left:40px;margin-right:40px}}
@media(max-width:760px){html{scroll-padding-top:75px}.header-inner{min-height:74px;padding:12px 20px;gap:12px}.brand{gap:9px;flex:1}.brand img{width:34px;height:34px;border-radius:8px}.brand strong{font-size:24px}.brand small{font-size:9px;letter-spacing:.06em;max-width:140px}.header-actions{gap:5px}.account-button{padding:8px 10px;gap:6px;font-size:12px}.icon-button{height:36px;width:36px}.language-picker select{width:59px;font-size:12px;padding:5px;min-height:36px}.vocabulary-host{padding:27px 20px 50px}.vocab-heading h1{font-size:28px}.vocab-heading{margin-bottom:20px}.vocab-head-actions{padding-top:12px}.vocab-tabs{gap:10px;position:sticky;top:74px;z-index:15;background:var(--bg);margin-left:-1px;margin-right:-1px;padding-top:5px}.vocab-tabs>button{font-size:13px;min-height:46px;padding:9px 8px 14px}.vocab-corpus-counts{font-size:11px;margin-top:13px}.vocab-chapter-controls{margin-top:10px;padding:14px}.vocab-card{padding:19px 17px}.vocab-card-grid{gap:12px}.vocab-card-meta,.vocab-form-line,.vocab-list-caption{font-size:11px}.vocab-gloss>span:lang(en),.vocab-gloss>span:lang(zh){font-size:14px}.vocab-detail{padding:26px 20px calc(30px + env(safe-area-inset-bottom))}.vocab-detail .vocab-context-note,.vocab-sense-note{font-size:12px}.vocab-detail .vocab-example-ref,.vocab-detail .vocab-example-ref .vocab-text-button{font-size:12px}.vocab-detail .vocab-example-line p{font-size:17px}.vocab-detail .vocab-example-line:lang(zh) p{font-size:16px}.vocab-detail .vocab-language-label{font-size:10px}.vocab-detail .vocab-note-saved{font-size:12px}.site-footer{margin:0 20px;padding-bottom:calc(25px + env(safe-area-inset-bottom));gap:12px;font-size:10px}.site-footer>span:first-child{flex-basis:100%}.settings-dialog{padding:24px 21px;border-radius:15px;max-height:calc(100dvh - 36px)}.settings-section{padding:21px 0}.scripture-dialog{width:calc(100vw - 20px);padding:24px 20px;border-radius:15px;max-height:calc(100dvh - 24px)}.reader-toolbar h2{font-size:26px}.reader-controls{gap:10px}.reader-language-controls{gap:10px;flex-basis:100%}.reader-controls>.primary-button{margin-left:auto}.verse-languages{grid-template-columns:minmax(0,1fr);gap:16px}.verse-language[lang=es] p{font-size:20px}.verse-language p{font-size:16px}.scripture-verse{padding:24px 0}.scripture-verse.is-target{padding:20px 12px;margin:0 -12px}.vocab-button{font-size:13px}.vocab-review-intro p{font-size:13px}}
@media(max-width:390px){.header-inner{padding:11px 12px;gap:7px}.brand{gap:7px}.brand img{width:30px;height:30px}.brand strong{font-size:23px}.brand small{max-width:105px;font-size:8px}.header-actions{gap:2px}.account-button{padding:7px 8px;font-size:11px;min-height:36px}.account-dot{display:none}.icon-button{width:33px;height:33px}.language-picker select{width:53px;font-size:11px}.vocabulary-host{padding:24px 14px 45px}.vocab-heading h1{font-size:25px}.vocab-tabs{gap:3px}.vocab-tabs>button{padding:9px 6px 14px;font-size:13px}.vocab-head-actions .vocab-button{font-size:12px}.vocab-detail-actions>label{font-size:11px}.vocab-detail-actions .vocab-primary{font-size:12px}.vocab-corpus-counts{font-size:10px;gap:5px 10px}.site-footer{margin:0 14px}}
@media(max-width:760px){
 .vocab-heading{margin-bottom:14px}.vocab-corpus-counts{margin-top:8px}
 .vocab-chapter-controls{display:grid;grid-template-columns:minmax(0,1fr) 62px 67px;align-items:end}
 .vocab-chapter-controls label:first-child,.vocab-chapter-controls label:nth-child(2){min-width:0;max-width:none}
 .vocab-chapter-controls>.vocab-text-button{grid-column:1/-1;width:100%}
 .brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:390px){.vocab-chapter-controls{grid-template-columns:minmax(0,1fr) 57px 61px}}
@media(max-width:350px){.brand img{display:none}.brand strong{font-size:23px}}
.vocab-card-example{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}
.vocab-example-link{display:inline-flex;align-items:center;min-height:28px;padding:1px 0;text-align:left;font-size:11px;color:var(--accent);line-height:1.6}
.vocab-example-link:hover{text-decoration:underline;text-underline-offset:3px}
.vocab-card-example p{font:15px/1.75 Georgia,var(--serif);margin:5px 0 0;color:var(--text);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vocab-card-example mark{background:var(--accent-light);color:var(--ink);font-weight:600;padding:0 1px;border-radius:2px}
@media(max-width:760px){.vocab-card-example p{font-size:16px;line-height:1.8}.vocab-example-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
