:root{--app-font: "Museo Sans", "Times New Roman", Georgia, "Segoe UI", Roboto, Tahoma, Geneva, Verdana, Arial, sans-serif;--app-font-cjk: "Songti SC", "STSong", "SimSun", "Noto Serif SC", "Source Han Serif SC", "Source Han Serif CN", "Noto Serif CJK SC", "FangSong", "STFangsong", "Microsoft YaHei", sans-serif;--app-font-mixed: var(--app-font), var(--app-font-cjk);--app-font-hanzi: var(--app-font-cjk);--app-font-hanzi-serif: var(--app-font), var(--app-font-cjk)}html,body{font-family:var(--app-font)}body{line-height:1.6;color:#333;background-color:#f8f9fa}.quill-content{font-family:var(--app-font-mixed)}:root{--cls-ink: #1a1a2e;--cls-body: #555c6b;--cls-muted: #6b7484;--cls-faint: #98a1b0;--cls-surface: #ffffff;--cls-surface-alt: #f8f9fa;--cls-chip: #f4f6fb;--cls-line: #e8ecf3;--cls-line-strong: #dfe4ee;--cls-brand: #667eea;--cls-brand-2: #764ba2;--cls-brand-solid: #5b6cf9;--cls-brand-soft: #eef1ff;--cls-grad: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--cls-danger: #dc3545;--cls-danger-soft: #fff5f5;--cls-danger-line: #ffd9d9;--cls-danger-ink: #b42318;--cls-success-soft: #e8f5e8;--cls-radius-card: 16px;--cls-radius-control: 10px;--cls-radius-pill: 999px;--cls-shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(16, 24, 40, .18);--cls-shadow-hover: 0 2px 4px rgba(16, 24, 40, .06), 0 14px 32px -14px rgba(16, 24, 40, .28);--cls-shadow-pop: 0 8px 28px rgba(16, 24, 40, .16);--cls-ring: 0 0 0 3px rgba(102, 126, 234, .35);--cls-ease: cubic-bezier(.2, .7, .3, 1);--cls-dur: .18s}.pw-shell{display:flex;min-height:100vh;flex-direction:column;background:var(--cls-surface-alt);color:var(--cls-body)}.pw-container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.pw-main{flex:1 1 auto;padding:24px 0 48px}.pw-skip{position:absolute;left:-9999px;top:0;background:var(--cls-surface);padding:8px 12px;z-index:40}.pw-skip:focus{left:8px}.pw-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}a{color:var(--cls-brand-solid);text-decoration:none}a:hover{text-decoration:underline}.pw-muted{color:var(--cls-muted);font-size:.9rem}.pw-link{background:none;border:0;padding:0;color:var(--cls-brand-solid);font:inherit;cursor:pointer}.pw-link:hover{text-decoration:underline}.pw-header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid var(--cls-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pw-header__row{display:flex;align-items:center;gap:16px;padding:10px 16px}.pw-brand{display:inline-flex;align-items:center;gap:8px;color:var(--cls-ink);font-weight:600;white-space:nowrap}.pw-brand:hover{text-decoration:none}.pw-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--cls-radius-control);background:var(--cls-grad);color:#fff;font-family:var(--app-font-cjk);font-size:1.05rem}.pw-brand__text{font-size:1rem}.pw-search{display:flex;flex:1 1 auto;gap:8px;justify-content:flex-end}.pw-search input{width:100%;max-width:320px;padding:8px 12px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-pill);background:var(--cls-chip);color:var(--cls-ink);font:inherit}.pw-search input:focus-visible{outline:none;border-color:var(--cls-brand);box-shadow:var(--cls-ring)}.pw-search button{padding:8px 16px;border:0;border-radius:var(--cls-radius-pill);background:var(--cls-brand-solid);color:#fff;font:inherit;cursor:pointer}.pw-search button:hover{filter:brightness(1.06)}.pw-nav{border-top:1px solid var(--cls-line);background:var(--cls-surface)}.pw-nav__inner{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:6px 16px}.pw-nav__inner::-webkit-scrollbar{display:none}.pw-nav__item{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 12px;border-radius:var(--cls-radius-pill);color:var(--cls-body);font-size:.92rem;white-space:nowrap}.pw-nav__item:hover{background:var(--cls-chip);text-decoration:none}.pw-nav__item.is-active{background:var(--cls-brand-soft);color:var(--cls-brand-solid);font-weight:600}.pw-nav__hanzi{font-family:var(--app-font-cjk);color:var(--cls-muted)}.pw-nav__item.is-active .pw-nav__hanzi{color:var(--cls-brand-solid)}.pw-nav__count{padding:1px 6px;border-radius:var(--cls-radius-pill);background:var(--cls-chip);color:var(--cls-muted);font-size:.75rem}.pw-page{display:flex;flex-direction:column;gap:20px}.pw-page__head,.pw-lesson__head{display:flex;flex-direction:column;gap:10px}.pw-page__title,.pw-lesson__title{margin:0;color:var(--cls-ink);font-size:clamp(1.4rem,1.15rem + 1vw,2rem);line-height:1.35}.pw-page__lead{margin:0;color:var(--cls-muted);max-width:62ch}.pw-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;color:var(--cls-muted);font-size:.85rem}.pw-breadcrumb__current{color:var(--cls-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}.pw-inline-note{margin:0;padding:10px 14px;border:1px solid var(--cls-line);border-radius:var(--cls-radius-control);background:var(--cls-brand-soft);color:var(--cls-ink);font-size:.9rem}.pw-result-count{margin:0;color:var(--cls-muted);font-size:.85rem}.pw-hero{padding:24px 20px;border-radius:var(--cls-radius-card);background:var(--cls-grad);color:#fff;box-shadow:var(--cls-shadow-card)}.pw-hero__kicker{margin:0 0 6px;font-family:var(--app-font-cjk);letter-spacing:.12em;opacity:.85;font-size:.9rem}.pw-hero__title{margin:0 0 8px;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);line-height:1.3}.pw-hero__lead{margin:0 0 16px;max-width:60ch;opacity:.94}.pw-hero__stats{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;padding:0;list-style:none;font-size:.9rem;opacity:.95}.pw-hero__stats strong{font-size:1.1rem}.pw-section{display:flex;flex-direction:column;gap:12px}.pw-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pw-section__title{display:flex;align-items:baseline;gap:8px;margin:0;color:var(--cls-ink);font-size:1.2rem}.pw-section__hanzi{font-family:var(--app-font-cjk);color:var(--cls-brand)}.pw-section__count{color:var(--cls-muted);font-size:.85rem;font-weight:400}.pw-section__hint{margin:-6px 0 0;color:var(--cls-muted);font-size:.88rem}.pw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.pw-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--cls-line);border-radius:var(--cls-radius-card);background:var(--cls-surface);box-shadow:var(--cls-shadow-card);transition:box-shadow var(--cls-dur) var(--cls-ease),transform var(--cls-dur) var(--cls-ease)}.pw-card:hover{box-shadow:var(--cls-shadow-hover);transform:translateY(-1px)}.pw-card--skeleton{min-height:150px;background:linear-gradient(100deg,var(--cls-chip),var(--cls-line),var(--cls-chip));background-size:200% 100%;animation:pw-shimmer 1.2s linear infinite}.pw-card--tall{min-height:320px}@keyframes pw-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.pw-card--skeleton{animation:none}.pw-card{transition:none}}.pw-card__head{display:flex;flex-direction:column;gap:8px}.pw-card__title{margin:0;font-size:1.05rem;line-height:1.4}.pw-card__title a{color:var(--cls-ink)}.pw-card__summary{margin:0;color:var(--cls-body);font-size:.9rem}.pw-card__sentences{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.88rem}.pw-card__sentences span{display:block}.pw-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--cls-line)}.pw-card__more{font-size:.88rem;white-space:nowrap}.pw-chiprow{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.pw-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--cls-radius-pill);background:var(--cls-chip);color:var(--cls-muted);font-size:.78rem}.pw-chip--level{background:var(--cls-brand-soft);color:var(--cls-brand-solid);font-weight:600}.pw-chip--audio{background:var(--cls-success-soft);color:#2f6b3f}.pw-chip--author{background:var(--cls-surface-alt);border:1px solid var(--cls-line)}.pw-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-pill);background:var(--cls-surface);color:var(--cls-body);font:inherit;font-size:.8rem;cursor:pointer}.pw-tag:hover{border-color:var(--cls-brand);color:var(--cls-brand-solid);text-decoration:none}.pw-tag.is-active{background:var(--cls-brand-soft);border-color:var(--cls-brand);color:var(--cls-brand-solid);font-weight:600}.pw-tag__count{color:var(--cls-faint);font-size:.72rem}.pw-vocab table{width:100%;border-collapse:collapse;font-size:.88rem}.pw-vocab th,.pw-vocab td{padding:6px 8px;border-bottom:1px solid var(--cls-line);text-align:left;vertical-align:top}.pw-vocab th{color:var(--cls-muted);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.pw-vocab--compact td,.pw-vocab--compact th{padding:4px 6px}.pw-hanzi{font-family:var(--app-font-hanzi);color:var(--cls-ink);font-size:1.02em}.pw-pinyin{color:var(--cls-brand-solid);font-style:italic}.pw-filter{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--cls-line);border-radius:var(--cls-radius-card);background:var(--cls-surface)}.pw-filter__row{display:flex;flex-wrap:wrap;gap:12px}.pw-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.pw-field__label{color:var(--cls-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.pw-field select{padding:7px 10px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-control);background:var(--cls-surface);color:var(--cls-ink);font:inherit}.pw-field select:focus-visible{outline:none;border-color:var(--cls-brand);box-shadow:var(--cls-ring)}.pw-filter__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.pw-lesson{display:flex;flex-direction:column;gap:18px}.pw-lesson__toolbar{display:flex;justify-content:flex-end}.pw-lang{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-pill);background:var(--cls-surface)}.pw-lang__btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:0;border-radius:var(--cls-radius-pill);background:transparent;color:var(--cls-body);font:inherit;font-size:.85rem;cursor:pointer}.pw-lang__btn.is-active{background:var(--cls-brand-soft);color:var(--cls-brand-solid);font-weight:600}.pw-lang__full{display:none}.pw-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--cls-line);scrollbar-width:none}.pw-tabs::-webkit-scrollbar{display:none}.pw-tabs__btn{flex:0 0 auto;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:none;color:var(--cls-body);font:inherit;font-size:.92rem;cursor:pointer}.pw-tabs__btn:hover{color:var(--cls-ink)}.pw-tabs__btn.is-active{border-bottom-color:var(--cls-brand-solid);color:var(--cls-brand-solid);font-weight:600}.pw-lesson__summary{margin:0;color:var(--cls-body);max-width:70ch}.pw-lesson__body{min-height:120px}.pw-lesson__foot{margin:0;padding-top:12px;border-top:1px dashed var(--cls-line);color:var(--cls-muted);font-size:.82rem}.library-content{max-width:72ch;color:var(--cls-body);font-family:var(--app-font-mixed);line-height:1.75;overflow-wrap:anywhere}.library-content h1,.library-content h2,.library-content h3,.library-content h4{margin:1.2em 0 .5em;color:var(--cls-ink);line-height:1.35}.library-content h1{font-size:1.35rem}.library-content h2{font-size:1.2rem}.library-content h3{font-size:1.05rem}.library-content h4{font-size:1rem}.library-content p{margin:0 0 .9em}.library-content ul,.library-content ol{margin:0 0 1em;padding-left:1.35em}.library-content li{margin-bottom:.35em}.library-content table{width:100%;margin:0 0 1em;border-collapse:collapse;font-size:.92rem}.library-content th,.library-content td{padding:8px 10px;border:1px solid var(--cls-line);text-align:left;vertical-align:top}.library-content th{background:var(--cls-surface-alt);color:var(--cls-ink)}.library-content blockquote{margin:0 0 1em;padding:8px 14px;border-left:3px solid var(--cls-brand);background:var(--cls-brand-soft);color:var(--cls-ink)}.library-content code,.library-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--cls-surface-alt);border-radius:6px}.library-content pre{padding:10px 12px;overflow-x:auto}.library-content img{max-width:100%;height:auto}.pw-audio{display:inline-flex;flex:0 0 auto}.pw-audio__btn{width:30px;height:30px;border:1px solid var(--cls-line-strong);border-radius:50%;background:var(--cls-surface);color:var(--cls-brand-solid);font-size:.8rem;line-height:1;cursor:pointer}.pw-audio__btn:hover{border-color:var(--cls-brand);background:var(--cls-brand-soft)}.pw-sentences{display:flex;flex-direction:column;gap:10px}.pw-sentences__meta{margin:0;color:var(--cls-muted);font-size:.82rem}.pw-sentences__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.pw-sentence{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--cls-line);border-radius:var(--cls-radius-control);background:var(--cls-surface)}.pw-sentence__dot{width:30px;text-align:center;color:var(--cls-faint)}.pw-sentence__body{flex:1 1 auto}.pw-sentence__hanzi{margin:0;font-family:var(--app-font-mixed);color:var(--cls-ink);font-size:1.05rem;line-height:1.6}.pw-sentence__translation{margin:2px 0 0;color:var(--cls-muted);font-size:.9rem}.pw-answers{margin-top:16px;padding-top:12px;border-top:1px dashed var(--cls-line)}.pw-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:28px 20px;border:1px dashed var(--cls-line-strong);border-radius:var(--cls-radius-card);background:var(--cls-surface)}.pw-empty__title{margin:0;color:var(--cls-ink);font-size:1.05rem;font-weight:600}.pw-empty__desc{margin:0;color:var(--cls-muted)}.pw-empty__links{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;font-size:.9rem}.pw-empty__links a{display:inline-block;padding:4px 10px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-pill)}.pw-btn{padding:8px 16px;border:0;border-radius:var(--cls-radius-pill);background:var(--cls-brand-solid);color:#fff;font:inherit;cursor:pointer}.pw-btn:hover:not(:disabled){filter:brightness(1.06)}.pw-btn:disabled{opacity:.6;cursor:default}.pw-btn--ghost{background:var(--cls-surface);border:1px solid var(--cls-line-strong);color:var(--cls-brand-solid)}.pw-more{display:flex;justify-content:center;padding:8px 0 0}.pw-more__end{margin:0}.pw-footer{border-top:1px solid var(--cls-line);background:var(--cls-surface)}.pw-footer__inner{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:18px 16px}.pw-footer__note{margin:0;color:var(--cls-muted);font-size:.82rem;max-width:60ch}.pw-footer__links{display:flex;gap:16px;font-size:.85rem}.pw-prose{gap:14px}.pw-prose section{display:flex;flex-direction:column;gap:8px}.pw-prose h2{margin:0;color:var(--cls-ink);font-size:1.12rem}.pw-prose p,.pw-prose li{max-width:72ch;line-height:1.7}.pw-prose ul{margin:0;padding-left:1.25em}.pw-notfound{display:flex;flex-direction:column;gap:12px;padding:32px 20px;border:1px solid var(--cls-line);border-radius:var(--cls-radius-card);background:var(--cls-surface)}.pw-notfound__code{margin:0;font-size:2.6rem;font-weight:700;color:var(--cls-brand);line-height:1}.pw-notfound__links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-size:.9rem}.pw-notfound__links a{display:inline-block;padding:5px 12px;border:1px solid var(--cls-line-strong);border-radius:var(--cls-radius-pill)}.pw-page__loading{display:flex}@media(max-width:640px){.pw-header__row{flex-wrap:wrap;gap:8px}.pw-search{order:3;width:100%}.pw-search input{max-width:none}.pw-brand__text{font-size:.95rem}.pw-hero{padding:20px 16px}.pw-grid{grid-template-columns:1fr}.pw-section__head{flex-direction:column;align-items:flex-start;gap:4px}.pw-lang__full{display:inline}.pw-card__foot{flex-wrap:wrap}.pw-sentence{padding:8px 10px}}@media(min-width:768px){.pw-lang__full{display:inline}}@media print{.pw-header,.pw-footer,.pw-tabs,.pw-lesson__toolbar,.pw-answers,.pw-skip{display:none!important}#pw-answers-body{display:block!important}.library-content{max-width:none}.pw-card{box-shadow:none;break-inside:avoid}}
