.dict,.word-page{--header-clear:92px}@media (max-width:600px){.dict,.word-page{--header-clear:80px}body:has(.gv-header.hidden) .dict{--header-clear:8px}}.dict{--bar-h:78px;grid-template:"side bar""side main"1fr/232px minmax(0,1fr);align-items:start;gap:0 24px;max-width:1180px;margin:0 auto;display:grid}@media (min-width:1100px){.dict{--w:min(1440px, calc(100vw - 48px));width:var(--w);max-width:none;margin-inline:calc((100% - var(--w)) / 2);grid-template-columns:210px minmax(0,1fr) minmax(360px,420px);grid-template-areas:"side bar detail""side main detail";gap:0 20px}}.dict-bar{top:var(--header-clear);z-index:20;-webkit-backdrop-filter:blur(12px);border:1px solid var(--sky-200);box-shadow:var(--shadow-soft);background:#ffffffeb;border-radius:20px;grid-area:bar;padding:12px;transition:top .25s;position:sticky}.dict-search{position:relative}.dict-search input{border:1px solid var(--sky-400);width:100%;height:52px;color:var(--ink);appearance:none;background:#fff;border-radius:14px;padding:0 52px 0 48px;font-size:17px}.dict-search input::-webkit-search-cancel-button{display:none}.dict-search input::placeholder{color:var(--quaternary)}.dict-search input:focus{border-color:var(--sky-600);box-shadow:0 0 0 3px var(--sky-200);outline:none}.dict-search-icon{color:var(--sky-700);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.dict-clear{width:44px;height:44px;color:var(--tertiary);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.dict-clear:hover{background:var(--sky-100);color:var(--ink)}.dict-kbd{border:1px solid var(--sky-200);min-width:26px;height:26px;color:var(--tertiary);background:var(--sky-50);border-bottom-width:2px;border-radius:7px;place-items:center;padding:0 6px;font:600 13px/1 ui-monospace,monospace;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dict-side{top:var(--header-clear);max-height:calc(100vh - var(--header-clear) - 16px);overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--sky-200);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;grid-area:side;gap:18px;padding:16px;display:grid;position:sticky;overflow-y:auto}.dict-side-h{letter-spacing:.12em;text-transform:uppercase;color:var(--sky-800);margin:0 0 8px;font-size:12px;font-weight:800}.dict-filter{gap:4px;display:grid}.dict-filter button{min-height:40px;font:inherit;color:var(--secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.dict-filter button small{background:var(--sky-50);text-align:center;min-width:30px;color:var(--tertiary);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.dict-filter button:hover:not(:disabled){background:var(--sky-50);color:var(--ink)}.dict-filter button[aria-pressed=true]{background:var(--sky-300);border-color:var(--sky-500);color:var(--ink)}.dict-filter button[aria-pressed=true] small{color:var(--sky-800);background:#ffffffb3}.dict-filter button:disabled{opacity:.4;cursor:default}.dict-letters>div{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.dict-letters a,.dict-letters span{border-radius:10px;place-items:center;height:36px;font-size:14px;font-weight:700;text-decoration:none;display:grid}.dict-letters a{color:var(--sky-800);background:var(--sky-50);transition:background .15s}.dict-letters a:hover{background:var(--sky-300);color:var(--ink)}.dict-letters span{color:#c3d3de}.dict-main{grid-area:main;min-width:0}.dict-count{color:var(--tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:36px;margin:14px 2px 4px;font-size:14px;display:flex}.dict-count b{color:var(--ink)}.dict-count button,.dict-empty button{cursor:pointer;border:1px solid var(--sky-400);min-height:36px;color:var(--sky-800);font:inherit;background:#fff;border-radius:999px;padding:0 14px;font-size:13.5px;font-weight:700}.dict-count button:hover,.dict-empty button:hover{background:var(--sky-100)}.dict-empty{text-align:center;border:1px dashed var(--sky-400);color:var(--secondary);background:#fff;border-radius:18px;margin-top:8px;padding:36px 20px}.dict-empty p{margin:0 0 8px}.dict-empty b{color:var(--ink)}.dict-empty button{margin-top:8px}.dict-group{scroll-margin-top:calc(var(--header-clear) + var(--bar-h) + 8px);padding:0}.dict-group h2{border-bottom:1px solid var(--sky-200);color:var(--sky-800);align-items:baseline;gap:10px;margin:18px 0 10px;padding-bottom:6px;font-size:20px;display:flex}.dict-group h2 small{color:var(--tertiary);font-size:13px;font-weight:600}.dict-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dict-card{text-align:center;border:1px solid var(--sky-200);height:100%;color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 12px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.dict-card:hover,.dict-card:focus-visible{border-color:var(--sky-500);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.dict-card:active{transform:scale(.98)}.dict-card-hanzi{font-size:30px;font-weight:600;line-height:1.3}.dict-card-pinyin{color:var(--sky-700);font-size:14.5px;font-weight:700}.dict-card-meaning{color:var(--secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13.5px;line-height:1.4;display:-webkit-box;overflow:hidden}@media (max-width:860px){.dict{--bar-h:66px;display:block}.dict-side{display:contents}.dict-side-h,.dict-letters{display:none}.dict-bar{box-shadow:none;border-bottom:0;border-radius:18px 18px 0 0;margin:0 -8px;padding:8px}.dict-filter{top:calc(var(--header-clear) + var(--bar-h));z-index:19;scrollbar-width:none;-webkit-backdrop-filter:blur(12px);border:1px solid var(--sky-200);background:#ffffffeb;border-top:0;border-radius:0 0 18px 18px;gap:6px;margin:0 -8px;padding:0 8px 8px;transition:top .25s;display:flex;position:sticky;overflow-x:auto;box-shadow:0 14px 24px -18px #0b6fa473}.dict-filter::-webkit-scrollbar{display:none}.dict-filter button{border:1px solid var(--sky-200);background:#fff;border-radius:999px;flex:none;min-height:38px;padding:0 12px;font-size:13.5px}.dict-filter button small{background:0 0;min-width:0;padding:0}.dict-filter button[aria-pressed=true] small{background:0 0}.dict-group{scroll-margin-top:calc(var(--header-clear) + var(--bar-h) + 54px)}}.dict-card[aria-current=true]{border-color:var(--sky-600);background:var(--sky-50);box-shadow:0 0 0 2px var(--sky-400)}.dict-detail{top:var(--header-clear);height:calc(100vh - var(--header-clear) - 16px);border:1px solid var(--sky-200);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;grid-area:detail;position:sticky;overflow:hidden}.dict-detail-empty{text-align:center;height:100%;color:var(--secondary);place-content:center;justify-items:center;gap:10px;padding:28px;display:grid}.dict-detail-empty>span{background:var(--sky-50);border:1px dashed var(--sky-400);width:88px;height:88px;color:var(--sky-500);border-radius:22px;place-items:center;margin-bottom:6px;font-size:46px;display:grid}.dict-detail-empty p{max-width:260px;margin:0;font-size:15px;line-height:1.55}.dict-detail-empty b{color:var(--ink)}.dict-detail-empty .hint{color:var(--tertiary);font-size:13px}.preview{flex-direction:column;height:100%;min-height:0;display:flex}.preview-bar{border-bottom:1px solid var(--sky-200);background:#fffffff2;flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.preview-steps{gap:6px;display:flex}.preview-steps button,.preview-close{cursor:pointer;border:1px solid var(--sky-400);width:40px;height:40px;color:var(--sky-800);background:#fff;border-radius:50%;place-items:center;display:grid}.preview-steps button:hover:not(:disabled),.preview-close:hover{background:var(--sky-100)}.preview-steps button:disabled{opacity:.35;cursor:default}.preview-open{min-height:40px;color:var(--sky-800);border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:0 12px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.preview-open:hover{background:var(--sky-100)}.preview-close{border-color:#0000}.preview-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:18px 20px 24px;overflow-y:auto}.preview-head{border-bottom:1px solid var(--sky-200);text-align:center;flex-direction:column;align-items:stretch;gap:14px;padding:0 0 18px}.preview-head .word-hanzi{min-width:0;font-size:64px}.preview-head .word-pinyin{justify-content:center;font-size:26px}.preview-head .word-meaning{font-size:19px}.preview-head .word-tags{justify-content:center}.preview .word-block{padding-top:20px}.preview .word-examples .zh{font-size:19px}.word-related button{cursor:pointer;border:1px solid var(--sky-200);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:999px;align-items:baseline;gap:6px;padding:8px 14px;font-size:13.5px;display:inline-flex}.word-related button:hover{border-color:var(--sky-500);background:var(--sky-100)}.word-related button b{font-size:17px;font-weight:600}.word-related button span{color:var(--tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.preview-loading{justify-content:center;gap:8px;padding:60px 0;display:flex}.preview-loading span{background:var(--sky-400);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite preview-dot}.preview-loading span:nth-child(2){animation-delay:.15s}.preview-loading span:nth-child(3){animation-delay:.3s}@keyframes preview-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.dict-sheet{width:min(560px,100%);max-width:100%;height:min(88dvh,860px);max-height:100dvh;color:var(--ink);background:#fff;border:0;border-radius:22px 22px 0 0;margin:auto auto 0;padding:0;overflow:hidden;box-shadow:0 -20px 50px -20px #0b2a3c73}.dict-sheet[open]{animation:.28s cubic-bezier(.2,.9,.3,1) sheet-up}.dict-sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b2a3c73}.dict-sheet .preview-bar{padding-top:18px;position:relative}.dict-sheet .preview-bar:before{content:"";background:var(--sky-200);border-radius:4px;width:40px;height:4px;margin-left:-20px;position:absolute;top:7px;left:50%}.dict-sheet .preview-steps button,.dict-sheet .preview-close,.dict-sheet .preview-open{min-height:44px}.dict-sheet .preview-steps button,.dict-sheet .preview-close{width:44px;height:44px}.dict-sheet .preview-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (min-width:600px){.dict-sheet{border-radius:22px;height:min(86dvh,860px);margin:auto}}html:has(.dict-sheet[open]){overflow:hidden}.word-page{padding:112px 0 72px}.word-crumbs{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.word-back{min-height:44px;color:var(--sky-800);border-radius:999px;align-items:center;gap:4px;padding:0 14px 0 8px;font-size:14.5px;font-weight:700;text-decoration:none;display:inline-flex}.word-back:hover{background:var(--sky-100)}.word-steps{color:var(--tertiary);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.word-step{border:1px solid var(--sky-400);width:44px;height:44px;color:var(--sky-800);background:#fff;border-radius:50%;place-items:center;display:grid}a.word-step:hover{background:var(--sky-100)}.word-step.disabled{opacity:.35}.word-layout{grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"head write""body write";align-items:start;gap:20px;display:grid}.word-card{border:1px solid var(--sky-200);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px}.word-head{grid-area:head;align-items:center;gap:26px;padding:26px;display:flex}.word-write{top:var(--header-clear);grid-area:write;padding:20px;position:sticky}.word-body{grid-area:body;padding:6px 26px 26px}.word-write h2,.word-block h2{letter-spacing:.12em;text-transform:uppercase;color:var(--sky-800);margin:0 0 12px;font-size:13px}.word-hanzi{text-align:center;min-width:132px;color:var(--ink);background:var(--sky-50);border:1px solid var(--sky-200);border-radius:20px;flex:none;margin:0;padding:8px 22px;font-size:clamp(56px,7vw,84px);font-weight:600;line-height:1.2}.word-head-info{min-width:0}.word-pinyin{color:var(--sky-700);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:30px;font-weight:700;line-height:1.2;display:flex}.word-hv{letter-spacing:.04em;color:var(--tertiary);margin:6px 0 0;font-size:13.5px}.word-hv b{color:var(--secondary);letter-spacing:.06em}.word-meaning{color:var(--ink);text-wrap:pretty;margin:10px 0 12px;font-size:21px;font-weight:700;line-height:1.4}.word-tags{flex-wrap:wrap;gap:6px;display:flex}.word-tags span{background:var(--sky-100);border:1px solid var(--sky-200);color:var(--sky-800);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:700}.word-tags span:first-child{background:var(--sky-300);border-color:var(--sky-500);color:var(--ink)}.word-block{padding-top:22px}.word-block p{color:var(--secondary);margin:0;font-size:16px;line-height:1.7}.word-examples{counter-reset:ex;gap:10px;margin:0;padding:0;list-style:none;display:grid}.word-examples li{background:var(--sky-50);border:1px solid var(--sky-200);counter-increment:ex;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 12px 14px 50px;display:flex;position:relative}.word-examples li:before{content:counter(ex);background:var(--sky-300);width:24px;height:24px;color:var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;top:17px;left:14px}.word-ex-text{flex:1;min-width:0}.word-examples .zh{color:var(--ink);font-size:21px;line-height:1.5}.word-examples .py{color:var(--sky-700);font-size:14.5px;font-weight:600;line-height:1.5}.word-examples .vi{font-size:15.5px;line-height:1.5}.word-related{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.word-related a{border:1px solid var(--sky-200);min-height:40px;color:var(--ink);background:#fff;border-radius:999px;align-items:baseline;gap:6px;padding:8px 14px;font-size:13.5px;text-decoration:none;display:inline-flex}.word-related a:hover{border-color:var(--sky-500);background:var(--sky-100)}.word-related b{font-size:17px;font-weight:600}.word-related span{color:var(--tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.word-pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.word-pager a{border:1px solid var(--sky-200);color:var(--ink);background:#fff;border-radius:18px;gap:2px;padding:14px 18px;text-decoration:none;transition:border-color .15s,background .15s;display:grid}.word-pager a:hover{border-color:var(--sky-500);background:var(--sky-50)}.word-pager a.next{text-align:right;justify-items:end}.word-pager small{color:var(--tertiary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:2px;font-size:12.5px;font-weight:700;display:inline-flex}.word-pager span{color:var(--sky-700);font-size:15px;font-weight:600}.word-pager b{color:var(--ink);margin-right:4px;font-size:20px}.speak{cursor:pointer;border:1px solid var(--sky-400);min-height:40px;color:var(--sky-800);font:inherit;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.speak:hover{background:var(--sky-100)}.speak:active{transform:scale(.96)}.speak.small{width:40px;padding:0}@media (max-width:1000px){.word-layout{grid-template-columns:1fr;grid-template-areas:"head""write""body"}.word-write{position:static}}@media (max-width:600px){.hanzi-hero-copy{margin-bottom:18px}.dict-search input{height:50px;font-size:16px}.dict-count{text-align:center;justify-content:center}.dict-kbd{display:none}.dict-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dict-card-hanzi{font-size:30px}.word-page{padding-top:92px;padding-bottom:110px}.word-crumbs{margin-bottom:12px}.word-layout{gap:14px}.word-head{text-align:center;flex-direction:column;align-items:stretch;gap:16px;padding:18px}.word-hanzi{min-width:0}.word-pinyin{justify-content:center;font-size:26px}.word-tags{justify-content:center}.word-meaning{font-size:19px}.word-write{padding:16px}.word-body{padding:0 16px 18px}.word-examples li{padding:12px 10px 12px 44px}.word-examples li:before{top:15px;left:12px}.word-examples .zh{font-size:19px}.speak{min-height:44px}.speak.small{width:44px}.word-step{width:44px;height:44px}.word-pager a{padding:12px 14px}.word-pager span{font-size:13.5px}}@media (prefers-reduced-motion:reduce){.dict-sheet[open],.preview-loading span{animation:none}.dict-bar,.dict-card,.dict-filter button,.word-pager a{transition:none}.dict-card:hover,.dict-card:focus-visible{transform:none}html:focus-within{scroll-behavior:auto}}html:has(.dict){scroll-behavior:smooth}.dict-group>.dict-grid:first-child{margin-top:8px}
