.PageContainer-module__TgPx3q__container{width:100%;margin:0 auto}.PageContainer-module__TgPx3q__standard{max-width:1200px;min-height:100vh;padding:40px 32px 80px}.PageContainer-module__TgPx3q__workspace{max-width:1440px;min-height:100vh;padding:40px 32px 80px}.PageContainer-module__TgPx3q__immersive{max-width:none}
.PageHeader-module__bRDKxW__head{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.PageHeader-module__bRDKxW__headDense{margin-bottom:var(--sp-3)}.PageHeader-module__bRDKxW__back{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--bg2);width:44px;height:44px;color:var(--ink);font-size:var(--fs-xl);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.PageHeader-module__bRDKxW__back:hover{background:var(--accent-soft);border-color:var(--accent)}.PageHeader-module__bRDKxW__titles{flex:1;min-width:0}.PageHeader-module__bRDKxW__title{font-size:var(--fs-2xl);color:var(--ink);font-weight:700;line-height:1.25}.PageHeader-module__bRDKxW__subtitle{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--muted)}.PageHeader-module__bRDKxW__right{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex:none;display:flex}
.CharSentences-module__gMLaiW__wrap{gap:var(--sp-2);flex-direction:column;display:flex}.CharSentences-module__gMLaiW__title{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.CharSentences-module__gMLaiW__book{gap:var(--sp-1);flex-direction:column;display:flex}.CharSentences-module__gMLaiW__bookTitle{font-size:var(--fs-xs);color:var(--muted)}.CharSentences-module__gMLaiW__sent{font-size:var(--fs-sm);color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.7;display:-webkit-box;overflow:hidden}.CharSentences-module__gMLaiW__pageTag{font-size:var(--fs-xs);color:var(--muted);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-pill);padding:0 var(--sp-2);margin-right:var(--sp-2);line-height:1.6;display:inline-block}.CharSentences-module__gMLaiW__hl{color:var(--c-new);font-weight:700}
.SimilarChars-module__rQ1ssa__wrap{gap:var(--sp-2);flex-direction:column;display:flex}.SimilarChars-module__rQ1ssa__title{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.SimilarChars-module__rQ1ssa__row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.SimilarChars-module__rQ1ssa__ch{width:44px;height:44px;font-size:var(--fs-xl);font-family:var(--font-kai);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);justify-content:center;align-items:center;line-height:1;display:inline-flex}.SimilarChars-module__rQ1ssa__ch:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.detail-module__ge6i3q__topChar{font-size:var(--fs-char-list);font-weight:700;line-height:1;font-family:var(--font-kai)}.detail-module__ge6i3q__topPy{font-size:var(--fs-lg);color:var(--muted)}.detail-module__ge6i3q__badge{font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--rule);color:var(--muted);background:var(--bg2)}.detail-module__ge6i3q__b_new{color:var(--c-none);border-color:var(--rule-strong)}.detail-module__ge6i3q__b_half{color:var(--c-half);border-color:color-mix(in srgb, var(--c-half) 40%, transparent);background:color-mix(in srgb, var(--c-half) 8%, transparent)}.detail-module__ge6i3q__b_done{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:var(--accent-soft)}.detail-module__ge6i3q__backLink{text-align:center;margin-top:var(--sp-4)}.detail-module__ge6i3q__backLink a{color:var(--accent);font-size:var(--fs-md)}.detail-module__ge6i3q__cols{gap:var(--sp-5);grid-template-columns:1fr;align-items:start;display:grid}.detail-module__ge6i3q__card{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.detail-module__ge6i3q__attrs{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.detail-module__ge6i3q__attr{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--bg);padding:var(--sp-4);align-items:center;gap:var(--sp-4);min-height:62px;display:flex}.detail-module__ge6i3q__attrK{font-size:var(--fs-sm);color:var(--muted);flex-shrink:0}.detail-module__ge6i3q__attrV{font-size:var(--fs-lg);word-break:keep-all;min-width:0;font-weight:600;line-height:1.35}.detail-module__ge6i3q__gradeRow{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.detail-module__ge6i3q__gradeTag,.detail-module__ge6i3q__libTag{font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent)}.detail-module__ge6i3q__libTag{background:var(--accent2-soft);color:var(--accent2)}.detail-module__ge6i3q__block{margin-top:var(--sp-5)}.detail-module__ge6i3q__blockTitle{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.08em;margin-bottom:var(--sp-2)}.detail-module__ge6i3q__words{gap:var(--sp-2);flex-wrap:wrap;display:flex}.detail-module__ge6i3q__word{font-size:var(--fs-md);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--rule)}.detail-module__ge6i3q__def{font-size:var(--fs-md);color:var(--ink-soft);white-space:pre-line;cursor:default;line-height:1.75}.detail-module__ge6i3q__defClamp{-webkit-line-clamp:4;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.detail-module__ge6i3q__defToggle{margin-top:var(--sp-2);color:var(--accent);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0}.detail-module__ge6i3q__defToggle:hover{text-decoration:underline}.detail-module__ge6i3q__masteryBlock{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px dashed var(--rule)}.detail-module__ge6i3q__masteryBtns{gap:var(--sp-2);display:flex}.detail-module__ge6i3q__mBtn{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);height:46px;font-size:var(--fs-md);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);flex:1}.detail-module__ge6i3q__mb_new:not(.detail-module__ge6i3q__mbOn){color:var(--c-none)}.detail-module__ge6i3q__mb_half:not(.detail-module__ge6i3q__mbOn){color:var(--c-half)}.detail-module__ge6i3q__mb_done:not(.detail-module__ge6i3q__mbOn){color:var(--accent)}.detail-module__ge6i3q__mb_new:not(.detail-module__ge6i3q__mbOn):hover{border-color:var(--rule-strong)}.detail-module__ge6i3q__mb_half:not(.detail-module__ge6i3q__mbOn):hover{border-color:var(--c-half)}.detail-module__ge6i3q__mb_done:not(.detail-module__ge6i3q__mbOn):hover{border-color:var(--accent)}.detail-module__ge6i3q__mbOn{color:var(--bg2);font-weight:600}.detail-module__ge6i3q__mb_new.detail-module__ge6i3q__mbOn{background:var(--c-none);border-color:var(--c-none)}.detail-module__ge6i3q__mb_half.detail-module__ge6i3q__mbOn{background:var(--c-half);border-color:var(--c-half)}.detail-module__ge6i3q__mb_done.detail-module__ge6i3q__mbOn{background:var(--accent);border-color:var(--accent)}@media (max-width:960px){.detail-module__ge6i3q__cols{grid-template-columns:1fr}}
.inline-module__Yu6Xqa__panel{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.inline-module__Yu6Xqa__panelTop{align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.inline-module__Yu6Xqa__topChar{font-size:var(--fs-char-list);font-weight:700;line-height:1;font-family:var(--font-kai)}.inline-module__Yu6Xqa__topPy{font-size:var(--fs-xl);color:var(--muted)}.inline-module__Yu6Xqa__close{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);width:44px;height:44px;color:var(--muted);font-size:var(--fs-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);margin-left:auto}.inline-module__Yu6Xqa__close:hover{background:var(--bg-soft);color:var(--ink)}
.CharSheet-module__A-fuIG__overlay{z-index:var(--z-sheet);background:color-mix(in srgb, var(--ink) 45%, transparent);padding:var(--sp-5);animation:CharSheet-module__A-fuIG__fade var(--t-fast) ease;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes CharSheet-module__A-fuIG__fade{0%{opacity:0}to{opacity:1}}.CharSheet-module__A-fuIG__sheet{background:var(--bg2);border-radius:var(--r-lg);width:min(780px,100%);max-height:min(86vh,720px);padding:var(--sp-5);box-shadow:var(--shadow-pop);animation:CharSheet-module__A-fuIG__pop var(--t-fast) ease;position:relative;overflow-y:auto}@keyframes CharSheet-module__A-fuIG__pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.CharSheet-module__A-fuIG__close{top:var(--sp-3);right:var(--sp-3);border-radius:var(--r-md);background:var(--bg);width:44px;height:44px;color:var(--muted);font-size:var(--fs-lg);cursor:pointer;z-index:1;border:none;position:absolute}.CharSheet-module__A-fuIG__close:hover{color:var(--ink)}.CharSheet-module__A-fuIG__cols{gap:var(--sp-5);grid-template-columns:240px 1fr;align-items:start;display:grid}.CharSheet-module__A-fuIG__playerCol{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-2)}.CharSheet-module__A-fuIG__infoCol{min-width:0}.CharSheet-module__A-fuIG__top{align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.CharSheet-module__A-fuIG__big{font-size:var(--fs-char-hero);font-weight:700;line-height:1;font-family:var(--font-kai)}.CharSheet-module__A-fuIG__py{font-size:var(--fs-xl);color:var(--muted);align-items:center;gap:var(--sp-2);display:flex}.CharSheet-module__A-fuIG__speakBtn{border-radius:var(--r-md);background:var(--bg2);border:1px solid var(--rule);width:44px;height:44px;font-size:var(--fs-lg);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);justify-content:center;align-items:center;display:inline-flex}.CharSheet-module__A-fuIG__speakBtn:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-sm)}.CharSheet-module__A-fuIG__attrs{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.CharSheet-module__A-fuIG__attr{font-size:var(--fs-sm);color:var(--muted);background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)}.CharSheet-module__A-fuIG__words{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.CharSheet-module__A-fuIG__word{font-size:var(--fs-md);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--rule)}.CharSheet-module__A-fuIG__def{font-size:var(--fs-md);color:var(--ink-soft);white-space:pre-line;line-height:1.7}.CharSheet-module__A-fuIG__defClamp{-webkit-line-clamp:3;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.CharSheet-module__A-fuIG__similarRow{margin-bottom:var(--sp-4)}.CharSheet-module__A-fuIG__sentBlock{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md)}.CharSheet-module__A-fuIG__mastery{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.CharSheet-module__A-fuIG__mBtn{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);height:44px;font-size:var(--fs-md);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);flex:1}.CharSheet-module__A-fuIG__mb_new:not(.CharSheet-module__A-fuIG__mbOn){color:var(--c-none)}.CharSheet-module__A-fuIG__mb_half:not(.CharSheet-module__A-fuIG__mbOn){color:var(--c-half)}.CharSheet-module__A-fuIG__mb_done:not(.CharSheet-module__A-fuIG__mbOn){color:var(--accent)}.CharSheet-module__A-fuIG__mb_new:not(.CharSheet-module__A-fuIG__mbOn):hover{border-color:var(--rule-strong)}.CharSheet-module__A-fuIG__mb_half:not(.CharSheet-module__A-fuIG__mbOn):hover{border-color:var(--c-half)}.CharSheet-module__A-fuIG__mb_done:not(.CharSheet-module__A-fuIG__mbOn):hover{border-color:var(--accent)}.CharSheet-module__A-fuIG__mbOn{color:var(--bg2);font-weight:600}.CharSheet-module__A-fuIG__mb_new.CharSheet-module__A-fuIG__mbOn{background:var(--c-none);border-color:var(--c-none)}.CharSheet-module__A-fuIG__mb_half.CharSheet-module__A-fuIG__mbOn{background:var(--c-half);border-color:var(--c-half)}.CharSheet-module__A-fuIG__mb_done.CharSheet-module__A-fuIG__mbOn{background:var(--accent);border-color:var(--accent)}.CharSheet-module__A-fuIG__moreLink{min-height:44px;margin-top:var(--sp-2);color:var(--accent);font-size:var(--fs-sm);align-items:center;display:inline-flex}.CharSheet-module__A-fuIG__loading{color:var(--muted);padding:var(--sp-6) 0;text-align:center}.CharSheet-module__A-fuIG__missingBox{text-align:center;padding:var(--sp-7) 0;color:var(--muted)}.CharSheet-module__A-fuIG__missingChar{font-size:var(--fs-char-hero);font-weight:700;font-family:var(--font-kai);margin-bottom:var(--sp-3)}@media (max-width:720px){.CharSheet-module__A-fuIG__overlay{padding:var(--sp-3);align-items:flex-end}.CharSheet-module__A-fuIG__sheet{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-lg)}.CharSheet-module__A-fuIG__cols{grid-template-columns:1fr}.CharSheet-module__A-fuIG__playerCol{max-width:240px;margin:0 auto}}
.view-module__xBCc6a__title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.view-module__xBCc6a__batchBtn{height:44px;padding:0 var(--sp-4);border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);font-size:var(--fs-md);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);flex-shrink:0}.view-module__xBCc6a__batchBtn:hover{border-color:var(--accent);background:var(--accent-soft)}.view-module__xBCc6a__batchOn{font-size:var(--fs-sm);color:var(--accent);flex-shrink:0;font-weight:600}.view-module__xBCc6a__messageLink{color:var(--accent);font-size:var(--fs-md);align-items:center;min-height:44px;display:inline-flex}.view-module__xBCc6a__summary{align-items:center;gap:var(--sp-6);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.view-module__xBCc6a__rateBox{flex-shrink:0}.view-module__xBCc6a__rateNum{font-size:var(--fs-hero);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.view-module__xBCc6a__rateUnit{font-size:var(--fs-xl);font-weight:600}.view-module__xBCc6a__rateNote{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-2)}.view-module__xBCc6a__filters{gap:var(--sp-2);flex-wrap:wrap;flex:1;display:flex}.view-module__xBCc6a__fBtn{height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--bg);font-size:var(--fs-sm);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast)}.view-module__xBCc6a__fBtn[data-mastery=new]{color:var(--c-new)}.view-module__xBCc6a__fBtn[data-mastery=half]{color:var(--c-half)}.view-module__xBCc6a__fBtn[data-mastery=done]{color:var(--accent)}.view-module__xBCc6a__fBtn:hover{border-color:var(--muted)}.view-module__xBCc6a__fOn{background:var(--ink);border-color:var(--ink);color:var(--bg2)!important}.view-module__xBCc6a__legend{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.view-module__xBCc6a__legendBadge{min-width:18px;height:18px;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--c-new);color:var(--bg2);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.view-module__xBCc6a__rateLabel{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-1);font-weight:600}.view-module__xBCc6a__legendBars{gap:var(--sp-1);display:inline-flex}.view-module__xBCc6a__legendBars i{border-radius:3px;width:12px;height:6px;display:inline-block}.view-module__xBCc6a__lbNew{background:var(--c-new)}.view-module__xBCc6a__lbHalf{background:var(--c-half)}.view-module__xBCc6a__lbDone{background:var(--accent)}.view-module__xBCc6a__legendNote{margin-left:auto}.view-module__xBCc6a__grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(92px,1fr));display:grid}.view-module__xBCc6a__cell{aspect-ratio:3/3.4;background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.view-module__xBCc6a__cell:after{content:"";height:4px;position:absolute;bottom:0;left:0;right:0}.view-module__xBCc6a__cell[data-mastery=new]:after{background:var(--c-new)}.view-module__xBCc6a__cell[data-mastery=half]:after{background:var(--c-half)}.view-module__xBCc6a__cell[data-mastery=done]:after{background:var(--accent)}.view-module__xBCc6a__cell:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.view-module__xBCc6a__cell[data-sel]{border:2px solid var(--accent);background:var(--accent-soft)}.view-module__xBCc6a__cell[data-sel]:after{display:none}.view-module__xBCc6a__cellChar{font-size:var(--fs-char-list);margin-top:calc(-1 * var(--sp-1));font-weight:600;line-height:1}.view-module__xBCc6a__cellPy{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-1);white-space:nowrap;text-overflow:ellipsis;max-width:92%;overflow:hidden}.view-module__xBCc6a__lookBadge{top:var(--sp-1);right:var(--sp-1);min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--c-new);color:var(--bg2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute}.view-module__xBCc6a__check{top:var(--sp-1);right:var(--sp-1);border-radius:var(--r-sm);border:1.5px solid var(--rule-strong);min-width:20px;height:20px;color:var(--bg2);font-size:var(--fs-xs);background:var(--bg2);transition:background var(--t-fast), border-color var(--t-fast);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute}.view-module__xBCc6a__check[data-on]{background:var(--accent);border-color:var(--accent)}.view-module__xBCc6a__batchBar{left:50%;bottom:var(--sp-5);align-items:center;gap:var(--sp-2);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-pop);z-index:var(--z-bar);max-width:calc(100vw - var(--sp-6));display:flex;position:fixed;transform:translate(-50%)}.view-module__xBCc6a__batchCount{font-size:var(--fs-md);color:var(--ink);padding:0 var(--sp-1);white-space:nowrap;font-weight:600}.view-module__xBCc6a__mBtn{height:44px;padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-md);cursor:pointer;transition:transform var(--t-fast), filter var(--t-fast);color:var(--bg2);white-space:nowrap;border:1px solid #0000;font-weight:600}.view-module__xBCc6a__mBtn:hover:not(:disabled){filter:brightness(1.08)}.view-module__xBCc6a__mBtn:active:not(:disabled){transform:scale(.96)}.view-module__xBCc6a__mBtn:disabled{opacity:.4;cursor:not-allowed}.view-module__xBCc6a__mNew{background:var(--c-new)}.view-module__xBCc6a__mHalf{background:var(--c-half)}.view-module__xBCc6a__mDone{background:var(--accent)}.view-module__xBCc6a__batchClose{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg);width:44px;height:44px;font-size:var(--fs-lg);color:var(--muted);cursor:pointer;flex-shrink:0}.view-module__xBCc6a__batchClose:hover{color:var(--ink)}.view-module__xBCc6a__batchSpacer{height:var(--sp-8)}@media (max-width:720px){.view-module__xBCc6a__grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.view-module__xBCc6a__summary{padding:var(--sp-4);gap:var(--sp-4)}.view-module__xBCc6a__batchBar{bottom:var(--sp-4);gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.view-module__xBCc6a__mBtn{padding:0 var(--sp-3);font-size:var(--fs-sm)}.view-module__xBCc6a__batchCount{font-size:var(--fs-sm)}}
.chars-module__WfZNJa__statChips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chars-module__WfZNJa__statChip{align-items:center;gap:var(--sp-1);min-height:44px;font-size:var(--fs-sm);color:var(--muted);border:1px solid var(--rule);background:var(--bg2);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);display:inline-flex}.chars-module__WfZNJa__statChip b{color:var(--ink);font-size:var(--fs-md)}button.chars-module__WfZNJa__statChip{cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast)}button.chars-module__WfZNJa__statChip:hover{border-color:var(--rule-strong)}.chars-module__WfZNJa__statChipOn{background:var(--ink);border-color:var(--ink);color:var(--bg2)}.chars-module__WfZNJa__statChipOn b{color:var(--bg2)}.chars-module__WfZNJa__dot{width:var(--sp-2);height:var(--sp-2);background:var(--muted);border-radius:50%}.chars-module__WfZNJa__m_new .chars-module__WfZNJa__dot{background:var(--faint)}.chars-module__WfZNJa__m_half .chars-module__WfZNJa__dot{background:var(--c-half)}.chars-module__WfZNJa__m_done .chars-module__WfZNJa__dot{background:var(--accent)}.chars-module__WfZNJa__toolbar{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-direction:column;display:flex}.chars-module__WfZNJa__searchWrap{max-width:420px;position:relative}.chars-module__WfZNJa__searchIcon{left:var(--sp-4);font-size:var(--fs-lg);color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.chars-module__WfZNJa__search{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);width:100%;height:52px;padding:0 var(--sp-7);font-size:var(--fs-md);color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none}.chars-module__WfZNJa__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chars-module__WfZNJa__clear{right:var(--sp-1);border-radius:var(--r-pill);width:44px;height:44px;color:var(--muted);font-size:var(--fs-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.chars-module__WfZNJa__clear:hover{background:var(--bg-soft);color:var(--ink)}.chars-module__WfZNJa__chipBar{gap:var(--sp-2);padding-bottom:var(--sp-1);scrollbar-width:thin;display:flex;overflow-x:auto}.chars-module__WfZNJa__chip{border:1px solid var(--rule);background:var(--bg2);min-height:44px;color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);flex-shrink:0}.chars-module__WfZNJa__chip:hover{border-color:var(--accent);color:var(--ink)}.chars-module__WfZNJa__chipOn{background:var(--accent);border-color:var(--accent);color:var(--bg2);font-weight:600}.chars-module__WfZNJa__chipFrequent{margin-right:var(--sp-3)}.chars-module__WfZNJa__body{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:stretch;display:grid}.chars-module__WfZNJa__listPane{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);min-width:0;padding:var(--sp-4) var(--sp-3) var(--sp-3);top:var(--sp-4);scrollbar-width:thin;max-height:calc(100vh - 120px);position:sticky;overflow-y:auto}.chars-module__WfZNJa__listHeader{align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-3);display:flex}.chars-module__WfZNJa__listHeaderTitle{font-size:var(--fs-md);color:var(--ink);font-weight:600}.chars-module__WfZNJa__listHeaderCount{font-size:var(--fs-xs);color:var(--muted)}.chars-module__WfZNJa__modeToggle{border:1px solid var(--rule);border-radius:var(--r-md);margin-left:auto;display:inline-flex;overflow:hidden}.chars-module__WfZNJa__modeToggle button{background:var(--bg2);width:40px;height:36px;color:var(--muted);font-size:var(--fs-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);border:none;line-height:1}.chars-module__WfZNJa__modeToggle button+button{border-left:1px solid var(--rule)}.chars-module__WfZNJa__modeToggle button:hover{color:var(--ink)}.chars-module__WfZNJa__modeToggle .chars-module__WfZNJa__modeOn{background:var(--ink);color:var(--bg2)}.chars-module__WfZNJa__detailPane{min-width:0}.chars-module__WfZNJa__placeholder{text-align:center;color:var(--muted);border:1px dashed var(--rule-strong);border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-5);align-items:center;gap:var(--sp-4);background:var(--bg2-soft);flex-direction:column;justify-content:center;height:100%;min-height:320px;display:flex}.chars-module__WfZNJa__placeholderGlyph{font-size:var(--fs-char-list);color:var(--faint);font-weight:700;line-height:1}.chars-module__WfZNJa__grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));display:grid}.chars-module__WfZNJa__card{background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-1) var(--sp-2);align-items:center;gap:var(--sp-1);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast), background var(--t-fast);flex-direction:column;display:flex;position:relative}.chars-module__WfZNJa__card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-3px)}.chars-module__WfZNJa__cardOn{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-md)}.chars-module__WfZNJa__cardDot{top:var(--sp-2);right:var(--sp-2);border-radius:50%;width:7px;height:7px;position:absolute}.chars-module__WfZNJa__d_new{background:var(--faint)}.chars-module__WfZNJa__d_half{background:var(--c-half)}.chars-module__WfZNJa__d_done{background:var(--accent)}.chars-module__WfZNJa__cardLookups{top:var(--sp-1);left:var(--sp-2);border-radius:var(--r-pill);background:var(--accent2-soft);min-width:20px;height:18px;color:var(--accent2);line-height:18px;font-size:var(--fs-xs);text-align:center;pointer-events:none;padding:0 5px;font-weight:700;position:absolute}.chars-module__WfZNJa__cardChar{font-size:var(--fs-char-list);font-weight:600;line-height:1.15}.chars-module__WfZNJa__cardPy{font-size:var(--fs-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chars-module__WfZNJa__summaryList{gap:var(--sp-2);flex-direction:column;display:flex}.chars-module__WfZNJa__summaryCard{align-items:center;gap:var(--sp-3);text-align:left;background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-3);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast), background var(--t-fast);display:flex}.chars-module__WfZNJa__summaryCard:hover{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-2px)}.chars-module__WfZNJa__summaryChar{text-align:center;width:58px;font-size:44px;font-weight:700;line-height:1.1;font-family:var(--font-kai);border-right:1px solid var(--rule);padding-right:var(--sp-3);flex-shrink:0}.chars-module__WfZNJa__summaryMain{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.chars-module__WfZNJa__summaryPy{font-size:var(--fs-sm);color:var(--muted)}.chars-module__WfZNJa__summaryWords{gap:var(--sp-1);flex-wrap:wrap;display:flex}.chars-module__WfZNJa__summaryWords em{font-style:normal;font-size:var(--fs-sm);color:var(--ink);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-pill);padding:0 var(--sp-2);line-height:1.6}.chars-module__WfZNJa__summaryMeta{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--muted);display:flex}.chars-module__WfZNJa__summaryMastery{color:var(--accent)}.chars-module__WfZNJa__summaryLookups{color:var(--accent2);font-size:var(--fs-sm);flex-shrink:0;font-weight:700}@media (max-width:960px){.chars-module__WfZNJa__body{gap:var(--sp-4);grid-template-columns:1fr}.chars-module__WfZNJa__detailPane{order:-1;position:static}.chars-module__WfZNJa__listPane{order:2}}@media (max-width:720px){.chars-module__WfZNJa__grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}
.view-module__QsQl3q__page{height:100vh;padding:var(--sp-4) var(--sp-5) var(--sp-5);flex-direction:column;display:flex}.view-module__QsQl3q__title{font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.view-module__QsQl3q__toolbar{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.view-module__QsQl3q__toolBtn{border-radius:var(--r-md);background:var(--bg2);border:1px solid var(--rule);width:44px;height:44px;font-size:var(--fs-lg);cursor:pointer;color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);justify-content:center;align-items:center;display:flex}.view-module__QsQl3q__toolBtn:hover:not(:disabled){border-color:var(--rule-strong);box-shadow:var(--shadow-sm)}.view-module__QsQl3q__toolBtn:disabled{color:var(--faint);cursor:not-allowed}.view-module__QsQl3q__toolSelect{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);height:44px;font-size:var(--fs-md);color:var(--ink);padding:0 var(--sp-2);cursor:pointer}.view-module__QsQl3q__toolBtnActive{background:var(--accent);border-color:var(--accent);color:var(--bg2)}.view-module__QsQl3q__toolBtnActive:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-md)}.view-module__QsQl3q__autoReadBtn{height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--bg2);font-size:var(--fs-md);color:var(--muted);cursor:pointer;white-space:nowrap;transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);font-weight:600}.view-module__QsQl3q__autoReadBtn:hover{border-color:var(--rule-strong)}.view-module__QsQl3q__autoReadBtn.view-module__QsQl3q__autoReadOn{background:var(--accent);border-color:var(--accent);color:var(--bg2)}.view-module__QsQl3q__autoReadBtn.view-module__QsQl3q__autoReadOn:hover{border-color:var(--accent)}.view-module__QsQl3q__settingsWrap{position:relative}.view-module__QsQl3q__settingsPanel{top:calc(100% + var(--sp-2));background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);min-width:264px;box-shadow:var(--shadow-md);padding:var(--sp-3);gap:var(--sp-2);z-index:var(--z-bar);animation:view-module__QsQl3q__fadeIn var(--t-fast);flex-direction:column;display:flex;position:absolute;right:0}.view-module__QsQl3q__settingsRow{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 var(--sp-2);display:flex}.view-module__QsQl3q__settingsLabel{font-size:var(--fs-md);color:var(--ink);white-space:nowrap;font-weight:600}.view-module__QsQl3q__settingsSelect{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg);min-width:120px;height:40px;font-size:var(--fs-md);color:var(--ink);padding:0 var(--sp-2);cursor:pointer}.view-module__QsQl3q__settingsToggle{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-2);border-radius:var(--r-md);cursor:pointer;background:0 0;border:none;display:flex}.view-module__QsQl3q__settingsToggle:hover:not(:disabled){background:var(--bg-soft-hover)}.view-module__QsQl3q__settingsToggle:disabled{cursor:not-allowed;opacity:.5}.view-module__QsQl3q__toggleState{font-size:var(--fs-md);color:var(--faint);text-align:center;min-width:36px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);border:1px solid var(--rule);font-weight:600}.view-module__QsQl3q__toggleOn{color:var(--bg2);background:var(--accent);border-color:var(--accent)}.view-module__QsQl3q__indicator{font-size:var(--fs-md);color:var(--muted);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-4);flex-shrink:0}.view-module__QsQl3q__curNo{font-size:var(--fs-lg);color:var(--ink);font-weight:700}.view-module__QsQl3q__segNo{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.view-module__QsQl3q__main{gap:var(--sp-4);flex:1;grid-template-columns:minmax(0,1fr) minmax(360px,44%);min-height:0;display:grid}.view-module__QsQl3q__imgPane{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);cursor:zoom-in;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.view-module__QsQl3q__imgPane img{object-fit:contain;max-width:100%;max-height:100%;animation:view-module__QsQl3q__fadeIn var(--t-med);display:block}@keyframes view-module__QsQl3q__fadeIn{0%{opacity:0}to{opacity:1}}.view-module__QsQl3q__zoomHint{bottom:var(--sp-2);right:var(--sp-4);font-size:var(--fs-xs);color:var(--muted);background:color-mix(in srgb, var(--bg2) 85%, transparent);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);pointer-events:none;opacity:0;transition:opacity var(--t-fast);position:absolute}.view-module__QsQl3q__imgPane:hover .view-module__QsQl3q__zoomHint{opacity:1}.view-module__QsQl3q__textPane{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);min-height:0;padding:var(--sp-5);overflow-y:auto}.view-module__QsQl3q__textBox{animation:view-module__QsQl3q__fadeIn var(--t-med)}.view-module__QsQl3q__line{font-size:var(--fs-read);letter-spacing:.06em;margin:0 0 var(--sp-1);word-break:break-all;line-height:2.2}.view-module__QsQl3q__char{font-family:inherit;font-size:inherit;line-height:inherit;color:var(--ink);padding:0 var(--sp-1);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;position:relative}.view-module__QsQl3q__charWithPy{padding-top:var(--sp-4)}.view-module__QsQl3q__py{font-size:var(--fs-sm);line-height:var(--sp-4);white-space:nowrap;opacity:.82;font-weight:500;position:absolute;top:0;left:50%;transform:translate(-50%)}.view-module__QsQl3q__char:hover{background:var(--accent-soft);color:var(--accent)!important}.view-module__QsQl3q__char:active{background:color-mix(in srgb, var(--accent) 22%, transparent)}.view-module__QsQl3q__char.view-module__QsQl3q__charActive{background:var(--accent2);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 55%, var(--bg2));color:var(--bg2)!important}.view-module__QsQl3q__char.view-module__QsQl3q__charActive:hover{background:var(--accent2);color:var(--bg2)!important}.view-module__QsQl3q__punct{color:var(--muted)}.view-module__QsQl3q__sentence{margin:0 1px}.view-module__QsQl3q__sentBtn{width:26px;height:26px;margin:0 var(--sp-1) 0 var(--sp-1);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);cursor:pointer;vertical-align:middle;opacity:.55;transition:opacity var(--t-fast), background var(--t-fast), color var(--t-fast), transform var(--t-fast);border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.view-module__QsQl3q__sentBtn:hover{opacity:1;background:var(--accent);color:var(--bg2)}.view-module__QsQl3q__sentBtn:active{transform:scale(.9)}.view-module__QsQl3q__noText{color:var(--faint);font-size:var(--fs-lg);text-align:center;padding:var(--sp-7) 0}.view-module__QsQl3q__nav{gap:var(--sp-3);margin-top:var(--sp-3);flex-shrink:0;display:flex}.view-module__QsQl3q__navBtn{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);height:54px;font-size:var(--fs-lg);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);flex:1;font-weight:600}.view-module__QsQl3q__navBtn:hover:not(:disabled){border-color:var(--rule-strong);box-shadow:var(--shadow-sm)}.view-module__QsQl3q__navBtn:disabled{color:var(--faint);cursor:not-allowed}.view-module__QsQl3q__navBtn[data-primary=true]{background:var(--accent);border-color:var(--accent);color:var(--bg2)}.view-module__QsQl3q__navBtn[data-primary=true]:disabled{background:var(--bg-soft-hover);border-color:var(--bg-soft-hover)}.view-module__QsQl3q__doneBar{align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:linear-gradient(135deg, color-mix(in srgb, var(--accent2) 8%, var(--bg2)), color-mix(in srgb, var(--accent2) 16%, var(--bg2)));border:1px solid color-mix(in srgb, var(--accent2) 40%, transparent);animation:view-module__QsQl3q__fadeIn var(--t-med);flex-shrink:0;display:flex}.view-module__QsQl3q__doneText{font-size:var(--fs-lg);color:color-mix(in srgb, var(--accent2) 80%, var(--ink));flex:1;font-weight:700}.view-module__QsQl3q__doneBtn{height:46px;padding:0 var(--sp-5);border-radius:var(--r-md);border:1px solid var(--rule);background:var(--bg2);font-size:var(--fs-md);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);font-weight:600}.view-module__QsQl3q__doneBtn[data-primary=true]{background:var(--accent);border-color:var(--accent);color:var(--bg2)}.view-module__QsQl3q__fsOverlay{z-index:var(--z-full);background:var(--overlay);cursor:zoom-out;animation:view-module__QsQl3q__fadeIn var(--t-fast);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.view-module__QsQl3q__fsOverlay img{object-fit:contain;border-radius:var(--r-sm);max-width:96vw;max-height:96vh}.view-module__QsQl3q__fsHint{bottom:var(--sp-5);color:color-mix(in srgb, var(--bg2) 70%, transparent);font-size:var(--fs-md);background:color-mix(in srgb, var(--bg2) 12%, transparent);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);position:absolute;left:50%;transform:translate(-50%)}.view-module__QsQl3q__message{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.view-module__QsQl3q__messageLink{color:var(--accent);font-size:var(--fs-md);align-items:center;min-height:44px;display:inline-flex}@media (max-width:960px){.view-module__QsQl3q__page{padding:var(--sp-3) var(--sp-3) var(--sp-4);height:100dvh}.view-module__QsQl3q__main{grid-template-rows:minmax(0,1.3fr) minmax(0,1fr);grid-template-columns:1fr}.view-module__QsQl3q__textPane{padding:var(--sp-3) var(--sp-4)}.view-module__QsQl3q__nav{margin-top:var(--sp-2)}.view-module__QsQl3q__navBtn{height:48px;font-size:var(--fs-md)}.view-module__QsQl3q__indicator{display:none}.view-module__QsQl3q__toolbar{margin-left:auto}.view-module__QsQl3q__doneBar{flex-wrap:wrap}.view-module__QsQl3q__doneBtn{padding:0 var(--sp-4)}}
.reader-module__g3Kl4q__grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.reader-module__g3Kl4q__card{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);transition:transform var(--t-fast), box-shadow var(--t-fast);display:block;overflow:hidden}.reader-module__g3Kl4q__card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.reader-module__g3Kl4q__cover{aspect-ratio:3/2;background:var(--bg-soft);position:relative;overflow:hidden}.reader-module__g3Kl4q__cover img{object-fit:cover;width:100%;height:100%;display:block}.reader-module__g3Kl4q__coverEmpty{width:100%;height:100%;font-size:var(--fs-char-list);color:var(--faint);justify-content:center;align-items:center;display:flex}.reader-module__g3Kl4q__badge{left:var(--sp-2);bottom:var(--sp-2);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:color-mix(in srgb, var(--ink) 72%, transparent);color:var(--bg2);position:absolute}.reader-module__g3Kl4q__badgeDone{left:var(--sp-2);bottom:var(--sp-2);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) 92%, transparent);color:var(--bg2);position:absolute}.reader-module__g3Kl4q__meta{padding:var(--sp-3) var(--sp-4)}.reader-module__g3Kl4q__title{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.reader-module__g3Kl4q__row{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.reader-module__g3Kl4q__count{font-size:var(--fs-xs);color:var(--muted);flex-shrink:0}.reader-module__g3Kl4q__bar{border-radius:var(--r-pill);background:var(--bg-soft);flex:1;height:5px;overflow:hidden}.reader-module__g3Kl4q__barFill{border-radius:var(--r-pill);background:var(--accent);height:100%;transition:width var(--t-med);display:block}.reader-module__g3Kl4q__section{margin-bottom:var(--sp-6)}.reader-module__g3Kl4q__sectionHead{align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.reader-module__g3Kl4q__sectionTitle{font-size:var(--fs-lg);color:var(--ink);font-weight:600}.reader-module__g3Kl4q__sectionCount{font-size:var(--fs-sm);color:var(--muted)}.reader-module__g3Kl4q__cardWrap{position:relative}.reader-module__g3Kl4q__shareBtn{top:var(--sp-2);right:var(--sp-2);z-index:2;min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--bg2);background:color-mix(in srgb, var(--ink) 60%, transparent);border-radius:var(--r-pill);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:none;position:absolute}.reader-module__g3Kl4q__shareBtn:hover{background:var(--accent-deep)}.reader-module__g3Kl4q__shareBtn[data-on=true]{background:var(--accent)}.reader-module__g3Kl4q__fromTag{font-size:var(--fs-xs);color:var(--accent2);margin-top:var(--sp-2)}.reader-module__g3Kl4q__overlay{z-index:var(--z-sheet);background:var(--overlay);padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reader-module__g3Kl4q__dialog{background:var(--bg2);border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:420px;max-height:80vh;display:flex;overflow:hidden}.reader-module__g3Kl4q__dialogHead{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.reader-module__g3Kl4q__dialogTitle{font-size:var(--fs-lg);font-weight:600}.reader-module__g3Kl4q__dialogClose{min-width:36px;min-height:36px;font-size:var(--fs-lg);color:var(--muted);cursor:pointer;background:0 0;border:none}.reader-module__g3Kl4q__dialogBody{padding:var(--sp-3) var(--sp-5) var(--sp-5);overflow-y:auto}.reader-module__g3Kl4q__targetRow{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--rule);display:flex}.reader-module__g3Kl4q__targetName{font-size:var(--fs-md);color:var(--ink)}.reader-module__g3Kl4q__targetName small{margin-left:var(--sp-2);font-size:var(--fs-xs);color:var(--muted)}.reader-module__g3Kl4q__addBtn,.reader-module__g3Kl4q__removeBtn{min-height:40px;padding:0 var(--sp-4);font-size:var(--fs-sm);border-radius:var(--r-md);cursor:pointer;flex:none}.reader-module__g3Kl4q__addBtn{color:var(--bg2);background:var(--accent);border:none}.reader-module__g3Kl4q__addBtn:disabled{opacity:.5;cursor:default}.reader-module__g3Kl4q__removeBtn{color:var(--c-new);border:1px solid color-mix(in srgb, var(--c-new) 40%, transparent);background:0 0}.reader-module__g3Kl4q__dialogHint{margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--muted);line-height:1.6}.reader-module__g3Kl4q__dialogMsg{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--c-new)}.reader-module__g3Kl4q__tabs{gap:var(--sp-2);border-bottom:1px solid var(--rule);margin-bottom:var(--sp-5);display:flex}.reader-module__g3Kl4q__tab{min-height:44px;padding:0 var(--sp-4);font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.reader-module__g3Kl4q__tab[data-on=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.reader-module__g3Kl4q__manageBtn{min-height:40px;padding:0 var(--sp-4);font-size:var(--fs-sm);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--r-md);cursor:pointer;background:0 0}.reader-module__g3Kl4q__manageBtn[data-on=true]{color:var(--bg2);background:var(--accent)}.reader-module__g3Kl4q__groupHead{align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.reader-module__g3Kl4q__groupName{font-size:var(--fs-lg);color:var(--ink);font-weight:600}.reader-module__g3Kl4q__groupCount{font-size:var(--fs-xs);color:var(--muted)}.reader-module__g3Kl4q__selectAll{min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--r-pill);cursor:pointer;background:0 0;margin-left:auto}.reader-module__g3Kl4q__albumBlock{margin-bottom:var(--sp-4)}.reader-module__g3Kl4q__albumHead{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);padding-left:var(--sp-2);border-left:3px solid var(--accent);display:flex}.reader-module__g3Kl4q__albumName{font-size:var(--fs-md);color:var(--accent2);font-weight:600}.reader-module__g3Kl4q__libBadge{top:var(--sp-2);right:var(--sp-2);z-index:2;font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);color:var(--bg2);background:var(--accent);position:absolute}.reader-module__g3Kl4q__donorRow{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.reader-module__g3Kl4q__mineTag{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.reader-module__g3Kl4q__fromTag{font-size:var(--fs-xs);color:var(--accent2)}.reader-module__g3Kl4q__shelvedBadge{top:var(--sp-2);right:var(--sp-2);z-index:2;min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--bg2);background:color-mix(in srgb, var(--accent) 82%, transparent);border-radius:var(--r-pill);cursor:default;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;border:none;font-weight:600;position:absolute}.reader-module__g3Kl4q__shelvedBadge[data-mine=true]{cursor:pointer;pointer-events:auto}.reader-module__g3Kl4q__shelvedBadge[data-mine=true]:hover:not([data-on=true]){background:color-mix(in srgb, var(--ink) 60%, transparent)}.reader-module__g3Kl4q__shelvedBadge[data-confirm=true]{background:var(--c-new)}.reader-module__g3Kl4q__check{top:var(--sp-2);right:var(--sp-2);z-index:2;width:28px;height:28px;font-size:var(--fs-md);color:var(--bg2);background:color-mix(in srgb, var(--ink) 45%, transparent);border:2px solid var(--bg2);border-radius:var(--r-pill);justify-content:center;align-items:center;display:flex;position:absolute}.reader-module__g3Kl4q__check[data-on=true]{background:var(--accent)}.reader-module__g3Kl4q__cardWrap[data-checked=true] .reader-module__g3Kl4q__card{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.reader-module__g3Kl4q__manageBar{bottom:var(--sp-3);align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-md);z-index:5;display:flex;position:sticky}.reader-module__g3Kl4q__manageCount{font-size:var(--fs-md);color:var(--ink);margin-right:auto}.reader-module__g3Kl4q__hintInline{font-size:var(--fs-sm);color:var(--muted)}.reader-module__g3Kl4q__fieldCol{margin-bottom:var(--sp-4)}.reader-module__g3Kl4q__fieldLabel{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-2);display:block}.reader-module__g3Kl4q__select,.reader-module__g3Kl4q__input{width:100%;min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--ink);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-md)}.reader-module__g3Kl4q__newRow{gap:var(--sp-2);align-items:center;display:flex}.reader-module__g3Kl4q__newRow .reader-module__g3Kl4q__input{flex:1}.reader-module__g3Kl4q__miniBtn{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--bg2);background:var(--accent);border-radius:var(--r-md);cursor:pointer;border:none}.reader-module__g3Kl4q__miniBtn:disabled{opacity:.5;cursor:default}.reader-module__g3Kl4q__miniGhost{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--muted);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;background:0 0}.reader-module__g3Kl4q__primaryBtn{width:100%;min-height:46px;margin-top:var(--sp-2);font-size:var(--fs-md);color:var(--bg2);background:var(--accent);border-radius:var(--r-md);cursor:pointer;border:none;font-weight:600}.reader-module__g3Kl4q__primaryBtn:disabled{opacity:.5;cursor:default}
.StateBlock-module__RL2zQa__block{justify-content:center;align-items:center;gap:var(--sp-4);padding:var(--sp-8) var(--sp-5);text-align:center;min-height:240px;color:var(--muted);font-size:var(--fs-md);flex-direction:column;display:flex}.StateBlock-module__RL2zQa__spinner{border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite StateBlock-module__RL2zQa__spin}@keyframes StateBlock-module__RL2zQa__spin{to{transform:rotate(360deg)}}.StateBlock-module__RL2zQa__icon{font-size:var(--fs-2xl);line-height:1}.StateBlock-module__RL2zQa__errorText{color:var(--c-new)}.StateBlock-module__RL2zQa__action{margin-top:var(--sp-2)}.StateBlock-module__RL2zQa__action a,.StateBlock-module__RL2zQa__action button{color:var(--accent);font-size:var(--fs-md);align-items:center;min-height:44px;display:inline-flex}
.account-module__zd0OHa__grid{gap:var(--sp-5);grid-template-columns:repeat(2,1fr);align-items:start;display:grid}.account-module__zd0OHa__panel{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-6)}.account-module__zd0OHa__panelTitle{font-size:var(--fs-lg);margin-bottom:var(--sp-5);font-weight:700}.account-module__zd0OHa__field{margin-bottom:var(--sp-4)}.account-module__zd0OHa__label{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-soft);display:block}.account-module__zd0OHa__input{width:100%;min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--ink);background:var(--bg2);border:1px solid var(--rule-strong);border-radius:var(--r-md);transition:border-color var(--t-fast);outline:none}.account-module__zd0OHa__input:focus{border-color:var(--accent)}.account-module__zd0OHa__readonlyRow{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.account-module__zd0OHa__accountChip{min-height:44px;padding:0 var(--sp-4);font-size:var(--fs-md);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md);align-items:center;font-weight:600;display:inline-flex}.account-module__zd0OHa__hint{font-size:var(--fs-xs);color:var(--muted)}.account-module__zd0OHa__btn{width:100%;min-height:44px;margin-top:var(--sp-2);font-size:var(--fs-md);color:var(--bg2);background:var(--accent);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast);border:none;font-weight:600}.account-module__zd0OHa__btn:hover:not(:disabled){background:var(--accent-deep)}.account-module__zd0OHa__btn:disabled{opacity:.5;cursor:not-allowed}.account-module__zd0OHa__msg{margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.account-module__zd0OHa__msgOk{color:var(--accent-deep);background:var(--accent-soft)}.account-module__zd0OHa__msgErr{color:var(--c-new);background:color-mix(in srgb, var(--c-new) 8%, transparent)}@media (max-width:720px){.account-module__zd0OHa__grid{grid-template-columns:1fr}}
.admin-module__4WpgRW__layout{gap:var(--sp-5);flex-wrap:wrap;align-items:flex-start;display:flex}.admin-module__4WpgRW__panel{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5)}.admin-module__4WpgRW__createPanel{flex:0 0 300px}.admin-module__4WpgRW__listPanel{flex:420px;min-width:0}.admin-module__4WpgRW__panelTitle{font-size:var(--fs-lg);color:var(--ink);margin-bottom:var(--sp-4);font-weight:600}.admin-module__4WpgRW__field{margin-bottom:var(--sp-4)}.admin-module__4WpgRW__label{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-soft);display:block}.admin-module__4WpgRW__input{width:100%;min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--ink);background:var(--bg2);border:1px solid var(--rule-strong);border-radius:var(--r-md);outline:none}.admin-module__4WpgRW__input:focus{border-color:var(--accent)}.admin-module__4WpgRW__checkRow{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-soft);cursor:pointer;min-height:44px;display:flex}.admin-module__4WpgRW__checkRow input{width:18px;height:18px;accent-color:var(--accent)}.admin-module__4WpgRW__btn{min-height:44px;padding:0 var(--sp-4);font-size:var(--fs-md);color:var(--bg2);background:var(--accent);border-radius:var(--r-md);cursor:pointer;border:none;font-weight:600}.admin-module__4WpgRW__btn:hover:not(:disabled){background:var(--accent-deep)}.admin-module__4WpgRW__btn:disabled{opacity:.5;cursor:not-allowed}.admin-module__4WpgRW__msg{margin-top:var(--sp-3);font-size:var(--fs-sm)}.admin-module__4WpgRW__msgErr{color:var(--c-new)}.admin-module__4WpgRW__msgOk{color:var(--accent-deep)}.admin-module__4WpgRW__userCardWrap{padding:var(--sp-3) 0;border-bottom:1px solid var(--rule)}.admin-module__4WpgRW__userCardWrap:last-child{border-bottom:none}.admin-module__4WpgRW__userCard{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.admin-module__4WpgRW__userSub{font-size:var(--fs-sm);color:var(--ink-soft);margin-top:2px}.admin-module__4WpgRW__rowBtns{align-items:center;gap:var(--sp-2);flex:none;display:flex}.admin-module__4WpgRW__ghostBtn{min-height:40px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--ink-soft);border:1px solid var(--rule-strong);border-radius:var(--r-md);cursor:pointer;background:0 0}.admin-module__4WpgRW__ghostBtn:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.admin-module__4WpgRW__editBox{margin-top:var(--sp-3);padding:var(--sp-4);background:var(--bg-soft);border:1px solid var(--rule);border-radius:var(--r-md)}.admin-module__4WpgRW__editGrid{gap:0 var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.admin-module__4WpgRW__editGrid .admin-module__4WpgRW__field{margin-bottom:var(--sp-3)}.admin-module__4WpgRW__editBtns{gap:var(--sp-2);display:flex}.admin-module__4WpgRW__tabs{gap:var(--sp-2);border-bottom:1px solid var(--rule);margin-bottom:var(--sp-5);display:flex}.admin-module__4WpgRW__tab{min-height:44px;padding:0 var(--sp-4);font-size:var(--fs-md);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.admin-module__4WpgRW__tab[data-on=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.admin-module__4WpgRW__stack{gap:var(--sp-4);flex-direction:column;display:flex}.admin-module__4WpgRW__clsHead{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.admin-module__4WpgRW__clsTitle{align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);color:var(--ink);font-weight:600;display:flex}.admin-module__4WpgRW__clsCount{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.admin-module__4WpgRW__renameRow{gap:var(--sp-2);flex:320px;display:flex}.admin-module__4WpgRW__renameRow .admin-module__4WpgRW__input{flex:1}.admin-module__4WpgRW__memberWrap{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.admin-module__4WpgRW__memberChip{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);font-size:var(--fs-sm);background:var(--bg-soft);border:1px solid var(--rule);border-radius:var(--r-pill);display:inline-flex}.admin-module__4WpgRW__memberName{color:var(--ink);font-weight:600}.admin-module__4WpgRW__memberMeta{font-size:var(--fs-xs);color:var(--muted)}.admin-module__4WpgRW__memberX{min-width:28px;min-height:28px;font-size:var(--fs-xs);color:var(--muted);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none}.admin-module__4WpgRW__memberX:hover{color:var(--c-new)}.admin-module__4WpgRW__memberX[data-confirm=true]{color:var(--bg2);background:var(--c-new)}.admin-module__4WpgRW__memberEmpty{margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--muted)}.admin-module__4WpgRW__addRow{gap:var(--sp-2);display:flex}.admin-module__4WpgRW__addRow .admin-module__4WpgRW__input,.admin-module__4WpgRW__addRow .admin-module__4WpgRW__select{flex:1}.admin-module__4WpgRW__select{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--ink);background:var(--bg2);border:1px solid var(--rule-strong);border-radius:var(--r-md);outline:none}.admin-module__4WpgRW__select:focus{border-color:var(--accent)}.admin-module__4WpgRW__panelHint{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--muted)}.admin-module__4WpgRW__albumList{border-top:1px solid var(--rule)}.admin-module__4WpgRW__albumRow{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--rule);display:flex}.admin-module__4WpgRW__albumRow:last-child{border-bottom:none}.admin-module__4WpgRW__albumName{align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-sm);color:var(--ink);font-weight:600;display:inline-flex}.admin-module__4WpgRW__albumCount{font-size:var(--fs-xs);color:var(--muted);font-weight:400}.admin-module__4WpgRW__userMain{min-width:0}.admin-module__4WpgRW__userName{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);color:var(--ink);font-weight:600;display:flex}.admin-module__4WpgRW__tag{font-size:var(--fs-xs);padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-deep);font-weight:500}.admin-module__4WpgRW__tagSelf{background:var(--accent2-soft);color:var(--accent2)}.admin-module__4WpgRW__userStats{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.admin-module__4WpgRW__delBtn{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--c-new);border:1px solid color-mix(in srgb, var(--c-new) 40%, transparent);border-radius:var(--r-md);cursor:pointer;background:0 0;flex:none}.admin-module__4WpgRW__delBtn[data-confirm=true]{color:var(--bg2);background:var(--c-new);border-color:var(--c-new)}.admin-module__4WpgRW__delBtn:disabled{opacity:.4;cursor:not-allowed}
.analysis-module__SEiWPG__list{gap:var(--sp-4);flex-direction:column;max-width:760px;display:flex}.analysis-module__SEiWPG__card{align-items:center;gap:var(--sp-5);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5);transition:transform var(--t-fast), box-shadow var(--t-fast);display:flex}.analysis-module__SEiWPG__card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.analysis-module__SEiWPG__rate{text-align:center;width:96px;padding:var(--sp-4) 0;border-radius:var(--r-md);flex-shrink:0}.analysis-module__SEiWPG__rate[data-level=hard]{background:linear-gradient(160deg, color-mix(in srgb, var(--c-new) 14%, transparent), color-mix(in srgb, var(--c-new) 5%, transparent));color:var(--c-new)}.analysis-module__SEiWPG__rate[data-level=mid]{background:linear-gradient(160deg, color-mix(in srgb, var(--c-half) 14%, transparent), color-mix(in srgb, var(--c-half) 5%, transparent));color:var(--c-half)}.analysis-module__SEiWPG__rate[data-level=easy]{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--accent) 5%, transparent));color:var(--accent)}.analysis-module__SEiWPG__rateNum{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.analysis-module__SEiWPG__rateUnit{font-size:var(--fs-md);font-weight:600}.analysis-module__SEiWPG__rateLabel{font-size:var(--fs-sm);margin-top:var(--sp-1);opacity:.85;font-weight:600}.analysis-module__SEiWPG__cardBody{flex:1;min-width:0}.analysis-module__SEiWPG__cardTitle{font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.analysis-module__SEiWPG__cardMeta{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-1)}.analysis-module__SEiWPG__mastRow{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.analysis-module__SEiWPG__mastRow span{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--bg)}.analysis-module__SEiWPG__m1{color:var(--c-new)}.analysis-module__SEiWPG__m3{color:var(--accent)}.analysis-module__SEiWPG__arrow{font-size:var(--fs-xl);color:var(--muted);flex-shrink:0}@media (max-width:720px){.analysis-module__SEiWPG__card{gap:var(--sp-4);padding:var(--sp-4)}.analysis-module__SEiWPG__rate{width:80px}}
.classes-module__N25EQq__cls{margin-bottom:var(--sp-6)}.classes-module__N25EQq__clsHead{align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.classes-module__N25EQq__clsName{font-size:var(--fs-lg);color:var(--ink);font-weight:600}.classes-module__N25EQq__clsCount{font-size:var(--fs-xs);color:var(--muted)}.classes-module__N25EQq__wall{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.classes-module__N25EQq__member{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);display:flex;position:relative}.classes-module__N25EQq__member[data-me=true]{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--bg2))}.classes-module__N25EQq__nameCol{min-width:0}.classes-module__N25EQq__cnName{font-size:var(--fs-lg);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.classes-module__N25EQq__enName{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--muted)}.classes-module__N25EQq__statRow{gap:var(--sp-3);flex-shrink:0;display:flex}.classes-module__N25EQq__stat{text-align:center;min-width:48px}.classes-module__N25EQq__statNum{font-size:var(--fs-md);color:var(--accent2);font-weight:600}.classes-module__N25EQq__statLabel{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--muted)}.classes-module__N25EQq__meTag{top:var(--sp-2);right:var(--sp-2);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);color:var(--bg2);background:var(--accent);position:absolute}
.page-module___8aEwW__topbar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;display:flex}.page-module___8aEwW__userChip{font-size:var(--fs-md);color:var(--ink-soft);font-weight:600}.page-module___8aEwW__topLinks{align-items:center;gap:var(--sp-2);display:flex}.page-module___8aEwW__topLink{min-height:40px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--ink-soft);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-pill);cursor:pointer;align-items:center;text-decoration:none;display:inline-flex}.page-module___8aEwW__topLink:hover{border-color:var(--accent);color:var(--accent-deep)}.page-module___8aEwW__topHome{border-radius:var(--r-pill);background:var(--bg2);border:1px solid var(--rule);min-width:44px;min-height:44px;color:var(--accent);transition:border-color var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;display:inline-flex}.page-module___8aEwW__topHome:hover{border-color:var(--accent);color:var(--accent-deep)}.page-module___8aEwW__hero{text-align:center;padding:var(--sp-5) 0 var(--sp-6)}.page-module___8aEwW__hero h1{font-size:var(--fs-hero);margin:0 0 var(--sp-3);font-weight:700}.page-module___8aEwW__heroSub{font-size:var(--fs-lg);color:var(--muted);margin:0}.page-module___8aEwW__downTip{margin-top:var(--sp-4);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-pill);color:var(--c-new);background:color-mix(in srgb, var(--c-new) 8%, transparent);border:1px solid color-mix(in srgb, var(--c-new) 30%, transparent);display:inline-block}.page-module___8aEwW__mainRow{gap:var(--sp-4);grid-template-columns:1.7fr 1fr;display:grid}.page-module___8aEwW__primary{justify-content:center;gap:var(--sp-2);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-lg);min-height:168px;padding:var(--sp-6);transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);flex-direction:column;text-decoration:none;display:flex}.page-module___8aEwW__primary:hover{border-color:var(--accent-deep);box-shadow:var(--shadow-md);transform:translateY(-3px)}.page-module___8aEwW__primarySolo{grid-column:1/-1}.page-module___8aEwW__primaryName{font-size:var(--fs-xl);color:var(--accent-deep);font-weight:700}.page-module___8aEwW__primaryDesc{font-size:var(--fs-md);color:var(--ink-soft)}.page-module___8aEwW__primaryCta{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--accent-deep);font-weight:600}.page-module___8aEwW__resume{align-items:center;gap:var(--sp-4);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-5);transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);text-decoration:none;display:flex}.page-module___8aEwW__resume:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.page-module___8aEwW__resumeCover{border-radius:var(--r-md);border:1px solid var(--rule);flex-shrink:0;width:76px}.page-module___8aEwW__resumeInfo{align-items:flex-start;gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.page-module___8aEwW__resumeTag{font-size:var(--fs-xs);color:var(--accent2);background:var(--accent2-soft);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);font-weight:600}.page-module___8aEwW__resumeTitle{font-size:var(--fs-lg);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.page-module___8aEwW__resumeMeta{font-size:var(--fs-sm);color:var(--muted)}.page-module___8aEwW__group{margin-top:var(--sp-6)}.page-module___8aEwW__groupTitle{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);color:var(--ink-soft);margin:0 0 var(--sp-3);font-weight:600;display:flex}.page-module___8aEwW__groupTitle:after{content:"";background:var(--rule);flex:1;height:1px}.page-module___8aEwW__learn{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.page-module___8aEwW__module{justify-content:center;gap:var(--sp-2);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);min-height:118px;padding:var(--sp-5);transition:transform var(--t-fast), box-shadow var(--t-fast);flex-direction:column;text-decoration:none;display:flex}.page-module___8aEwW__module:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.page-module___8aEwW__mName{font-size:var(--fs-lg);color:var(--ink);font-weight:700}.page-module___8aEwW__mDesc{font-size:var(--fs-sm);color:var(--muted)}.page-module___8aEwW__tools{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.page-module___8aEwW__tool{gap:var(--sp-1);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--sp-4);transition:border-color var(--t-fast);flex-direction:column;text-decoration:none;display:flex}.page-module___8aEwW__tool:hover{border-color:var(--accent)}.page-module___8aEwW__toolName{font-size:var(--fs-md);color:var(--ink-soft);font-weight:600}.page-module___8aEwW__toolDesc{font-size:var(--fs-sm);color:var(--muted)}@media (max-width:960px){.page-module___8aEwW__mainRow{grid-template-columns:1fr}.page-module___8aEwW__primary{min-height:128px}}@media (max-width:720px){.page-module___8aEwW__learn,.page-module___8aEwW__tools{grid-template-columns:1fr}.page-module___8aEwW__hero h1{font-size:var(--fs-2xl)}}
.pinyin-module__xo798q__tabs{gap:var(--sp-1);padding:var(--sp-1);background:var(--bg-soft);border-radius:var(--r-pill);display:flex}.pinyin-module__xo798q__tab{border-radius:var(--r-pill);font-size:var(--fs-md);color:var(--muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;padding:6px 18px}.pinyin-module__xo798q__tab[data-on=true]{background:var(--bg2);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.pinyin-module__xo798q__loading,.pinyin-module__xo798q__error{padding:var(--sp-6);text-align:center;color:var(--muted);font-size:var(--fs-md)}.pinyin-module__xo798q__error{color:var(--c-new)}.pinyin-module__xo798q__tablePage{gap:var(--sp-5);flex-direction:column;display:flex}.pinyin-module__xo798q__progressRow{align-items:center;gap:var(--sp-3);display:flex}.pinyin-module__xo798q__progressText{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.pinyin-module__xo798q__progressText b{color:var(--accent2);font-size:var(--fs-lg)}.pinyin-module__xo798q__progressBar{background:var(--bg-soft);border-radius:var(--r-pill);flex:1;height:8px;overflow:hidden}.pinyin-module__xo798q__progressBar i{background:var(--accent2);border-radius:var(--r-pill);height:100%;transition:width var(--t-med);display:block}.pinyin-module__xo798q__section{gap:var(--sp-2);flex-direction:column;display:flex}.pinyin-module__xo798q__secHead{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.pinyin-module__xo798q__secHead h2{font-size:var(--fs-md);color:var(--ink);font-weight:600}.pinyin-module__xo798q__secHead span{font-size:var(--fs-xs);color:var(--muted)}.pinyin-module__xo798q__grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));display:grid}.pinyin-module__xo798q__phCard{padding:var(--sp-3) var(--sp-1) var(--sp-2);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.pinyin-module__xo798q__phCard:hover{border-color:var(--rule-strong);transform:translateY(-1px)}.pinyin-module__xo798q__phCard:before{content:"";border-radius:0 0 var(--r-sm) var(--r-sm);height:3px;position:absolute;top:0;left:20%;right:20%}.pinyin-module__xo798q__phCard[data-kind=initial]:before{background:var(--accent)}.pinyin-module__xo798q__phCard[data-kind=final]:before{background:var(--c-info)}.pinyin-module__xo798q__phCard[data-kind=medial]:before{background:var(--c-over)}.pinyin-module__xo798q__phCard[data-kind=whole]:before{background:var(--accent2)}.pinyin-module__xo798q__phCard[data-heard=true]:after{content:"";top:var(--sp-2);right:var(--sp-2);background:var(--accent2);border-radius:50%;width:7px;height:7px;position:absolute}.pinyin-module__xo798q__phKey{font-size:var(--fs-2xl);color:var(--ink);line-height:1.2}.pinyin-module__xo798q__phHu{font-size:var(--fs-xs);color:var(--muted)}.pinyin-module__xo798q__toneRow{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.pinyin-module__xo798q__toneCard{padding:var(--sp-3);background:var(--bg2);border:1px solid var(--rule);border-top:3px solid var(--c-over);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:2px;display:flex}.pinyin-module__xo798q__toneCard:hover{border-color:var(--rule-strong);transform:translateY(-1px)}.pinyin-module__xo798q__toneMark{font-size:var(--fs-2xl);color:var(--ink)}.pinyin-module__xo798q__toneDemo{font-family:var(--font-kai);font-size:var(--fs-xl);color:var(--ink)}.pinyin-module__xo798q__toneDesc{font-size:var(--fs-xs);color:var(--muted)}.pinyin-module__xo798q__composerPage{gap:var(--sp-3);flex-direction:column;display:flex}.pinyin-module__xo798q__stage{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4);background:var(--bg-soft);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.pinyin-module__xo798q__slots{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pinyin-module__xo798q__slot{min-width:88px;min-height:92px;padding:var(--sp-2) var(--sp-3);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.pinyin-module__xo798q__slot[data-kind=initial]{border-top:3px solid var(--accent)}.pinyin-module__xo798q__slot[data-kind=medial]{border-top:3px solid var(--c-over)}.pinyin-module__xo798q__slot[data-kind=final]{border-top:3px solid var(--c-info)}.pinyin-module__xo798q__slotLabel{font-size:var(--fs-xs);color:var(--muted)}.pinyin-module__xo798q__slotKey{font-size:var(--fs-2xl);color:var(--ink);line-height:1.2}.pinyin-module__xo798q__slotHu{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.pinyin-module__xo798q__op{font-size:var(--fs-xl);color:var(--muted)}.pinyin-module__xo798q__sylBig{font-size:var(--fs-char-hero);color:var(--accent-deep);cursor:pointer;padding:0 var(--sp-2);background:0 0;border:none;font-family:inherit;line-height:1}.pinyin-module__xo798q__sylBig:hover{opacity:.8}.pinyin-module__xo798q__sylBad{font-size:var(--fs-char-hero);color:var(--faint);line-height:1}.pinyin-module__xo798q__charSide{align-items:center;gap:var(--sp-3);display:flex}.pinyin-module__xo798q__exampleBig{font-family:var(--font-kai);font-size:var(--fs-char-hero);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.pinyin-module__xo798q__exampleBig:hover{opacity:.8}.pinyin-module__xo798q__exampleEmpty{font-size:var(--fs-char-hero);color:var(--faint);line-height:1}.pinyin-module__xo798q__speakBtn{border:1px solid var(--rule);background:var(--bg2);width:48px;height:48px;color:var(--accent-deep);font-size:var(--fs-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--t-fast), border-color var(--t-fast);border-radius:50%}.pinyin-module__xo798q__speakBtn:hover{border-color:var(--accent);transform:scale(1.08)}.pinyin-module__xo798q__tones{gap:var(--sp-2);display:flex}.pinyin-module__xo798q__toneBtn{border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--bg2);min-height:40px;color:var(--ink);font-size:var(--fs-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--t-fast);flex:1}.pinyin-module__xo798q__toneBtn[data-on=true]{background:var(--accent);border-color:var(--accent);color:var(--bg2);font-weight:600}.pinyin-module__xo798q__toneBtn:disabled{opacity:.45;cursor:default}.pinyin-module__xo798q__status{min-height:20px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--bg-soft);font-size:var(--fs-sm);color:var(--ink-soft)}.pinyin-module__xo798q__status[data-kind=bad]{background:var(--accent2-soft);color:var(--accent2)}.pinyin-module__xo798q__kbdHead{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-1)}.pinyin-module__xo798q__keyboard{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.pinyin-module__xo798q__key{min-height:52px;padding:var(--sp-1);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.pinyin-module__xo798q__key:hover{border-color:var(--rule-strong)}.pinyin-module__xo798q__key[data-kind=initial]{border-top:3px solid var(--accent)}.pinyin-module__xo798q__key[data-kind=final]{border-top:3px solid var(--c-info)}.pinyin-module__xo798q__key[data-kind=medial]{border-top:3px solid var(--c-over)}.pinyin-module__xo798q__key[data-on=true]{background:var(--accent-soft);border-color:var(--accent)}.pinyin-module__xo798q__keyMain{font-size:var(--fs-xl);color:var(--ink);line-height:1.2}.pinyin-module__xo798q__key[data-on=true] .pinyin-module__xo798q__keyMain{color:var(--accent-deep);font-weight:600}.pinyin-module__xo798q__keySub{font-size:var(--fs-xs);color:var(--muted)}@keyframes pinyin-module__xo798q__pyShake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pinyin-module__xo798q__shake{animation:.35s pinyin-module__xo798q__pyShake}
.radicals-module__gWvkXq__loading,.radicals-module__gWvkXq__error{padding:var(--sp-6);text-align:center;color:var(--muted);font-size:var(--fs-md)}.radicals-module__gWvkXq__error{color:var(--c-new)}.radicals-module__gWvkXq__overview{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.radicals-module__gWvkXq__overview b,.radicals-module__gWvkXq__progressText b{color:var(--accent2);font-size:var(--fs-lg)}.radicals-module__gWvkXq__page{gap:var(--sp-5);flex-direction:column;display:flex}.radicals-module__gWvkXq__section{gap:var(--sp-2);flex-direction:column;display:flex}.radicals-module__gWvkXq__secHead{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.radicals-module__gWvkXq__secHead h2{font-size:var(--fs-md);color:var(--ink);font-weight:600}.radicals-module__gWvkXq__secHead span{font-size:var(--fs-xs);color:var(--muted)}.radicals-module__gWvkXq__grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));display:grid}.radicals-module__gWvkXq__card{padding:var(--sp-3) var(--sp-2);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);transition:border-color var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.radicals-module__gWvkXq__card:hover{border-color:var(--accent);transform:translateY(-1px)}.radicals-module__gWvkXq__cardRadical{font-family:var(--font-kai);font-size:var(--fs-2xl);color:var(--accent-deep);line-height:1.2}.radicals-module__gWvkXq__cardName{font-size:var(--fs-sm);color:var(--ink)}.radicals-module__gWvkXq__cardMeaning{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.radicals-module__gWvkXq__cardStat{font-size:var(--fs-xs);color:var(--muted)}.radicals-module__gWvkXq__dot{background:var(--accent2);width:6px;height:6px;margin-right:var(--sp-1);vertical-align:middle;border-radius:50%;display:inline-block}.radicals-module__gWvkXq__headTitle{align-items:center;gap:var(--sp-2);display:inline-flex}.radicals-module__gWvkXq__headRadical{font-family:var(--font-kai);font-size:var(--fs-2xl);color:var(--accent-deep);line-height:1}.radicals-module__gWvkXq__categoryChip{font-size:var(--fs-xs);color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);white-space:nowrap}.radicals-module__gWvkXq__family{gap:var(--sp-4);flex-direction:column;display:flex}.radicals-module__gWvkXq__equation{gap:var(--sp-2);padding:var(--sp-4);background:var(--bg-soft);border-radius:var(--r-md);flex-direction:column;display:flex}.radicals-module__gWvkXq__equationParts{justify-content:center;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.radicals-module__gWvkXq__eqPart{min-width:88px;padding:var(--sp-2) var(--sp-3);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--t-fast);flex-direction:column;align-items:center;gap:2px;display:flex}.radicals-module__gWvkXq__eqPart:hover{border-color:var(--rule-strong)}.radicals-module__gWvkXq__eqPart[data-role=radical]{border-top:3px solid var(--accent)}.radicals-module__gWvkXq__eqPart[data-role=音]{border-top:3px solid var(--accent2)}.radicals-module__gWvkXq__eqPart[data-role=义]{border-top:3px solid var(--accent)}.radicals-module__gWvkXq__eqPart[data-role=记]{border-top:3px solid var(--c-over)}.radicals-module__gWvkXq__eqChar{font-family:var(--font-kai);font-size:var(--fs-char-hero);color:var(--ink);line-height:1.1}.radicals-module__gWvkXq__eqChar[data-role=radical]{color:var(--accent-deep)}.radicals-module__gWvkXq__eqLabel{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.radicals-module__gWvkXq__eqLabel[data-role=音]{color:var(--accent2);font-weight:600}.radicals-module__gWvkXq__eqLabel[data-role=义]{color:var(--accent-deep);font-weight:600}.radicals-module__gWvkXq__eqLabel[data-role=记]{color:var(--c-over);font-weight:600}.radicals-module__gWvkXq__eqOp{font-size:var(--fs-xl);color:var(--muted)}.radicals-module__gWvkXq__eqSpeak{border:1px solid var(--rule);background:var(--bg2);width:48px;height:48px;color:var(--accent-deep);font-size:var(--fs-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--t-fast), border-color var(--t-fast);border-radius:50%}.radicals-module__gWvkXq__eqSpeak:hover{border-color:var(--accent);transform:scale(1.08)}.radicals-module__gWvkXq__insight{text-align:center;font-size:var(--fs-sm);color:var(--accent-deep);background:var(--accent-soft);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3)}.radicals-module__gWvkXq__filters{gap:var(--sp-1);display:flex}.radicals-module__gWvkXq__filterChip{font-size:var(--fs-xs);color:var(--muted);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);cursor:pointer;white-space:nowrap;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast)}.radicals-module__gWvkXq__filterChip:hover{border-color:var(--rule-strong)}.radicals-module__gWvkXq__filterChip[data-on=true]{color:var(--accent-deep);background:var(--accent-soft);border-color:var(--accent)}.radicals-module__gWvkXq__members{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.radicals-module__gWvkXq__member{padding:var(--sp-2) var(--sp-1);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;align-items:center;gap:1px;display:flex;position:relative}.radicals-module__gWvkXq__member:hover{border-color:var(--rule-strong)}.radicals-module__gWvkXq__member[data-on=true]{background:var(--accent-soft);border-color:var(--accent)}.radicals-module__gWvkXq__memberChar{font-family:var(--font-kai);font-size:var(--fs-2xl);color:var(--ink);line-height:1.2}.radicals-module__gWvkXq__member[data-mastered=false] .radicals-module__gWvkXq__memberChar{color:var(--faint)}.radicals-module__gWvkXq__member[data-on=true] .radicals-module__gWvkXq__memberChar{color:var(--accent-deep)}.radicals-module__gWvkXq__memberPinyin{font-size:var(--fs-xs);color:var(--muted)}.radicals-module__gWvkXq__decompDot{top:var(--sp-1);right:var(--sp-1);background:var(--c-info);border-radius:50%;width:6px;height:6px;position:absolute}.radicals-module__gWvkXq__progressRow{align-items:center;gap:var(--sp-3);display:flex}.radicals-module__gWvkXq__progressText{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.radicals-module__gWvkXq__progressBar{background:var(--bg-soft);border-radius:var(--r-pill);flex:1;height:8px;overflow:hidden}.radicals-module__gWvkXq__progressBar i{background:var(--accent);border-radius:var(--r-pill);height:100%;transition:width var(--t-med);display:block}
.detail-module__yE7ztW__title{cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:40vw;display:inline-block;overflow:hidden}.detail-module__yE7ztW__title:hover{background:color-mix(in srgb, var(--bg2) 80%, transparent)}.detail-module__yE7ztW__titleInput{font-size:var(--fs-2xl);padding:var(--sp-1) var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--bg2);max-width:40vw;color:var(--ink);outline:none;font-family:inherit;font-weight:700}.detail-module__yE7ztW__chip{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--c-info-soft);color:var(--c-info);flex-shrink:0}.detail-module__yE7ztW__chip[data-s=ready]{background:var(--accent-soft);color:var(--accent)}.detail-module__yE7ztW__chip[data-s=processing]{background:var(--accent2-soft);color:var(--accent2)}.detail-module__yE7ztW__chip[data-s=error]{background:color-mix(in srgb, var(--c-new) 10%, transparent);color:var(--c-new)}.detail-module__yE7ztW__progressText{font-size:var(--fs-sm);color:var(--accent2)}.detail-module__yE7ztW__errorText{font-size:var(--fs-sm);color:var(--c-new);text-overflow:ellipsis;white-space:nowrap;max-width:30vw;overflow:hidden}.detail-module__yE7ztW__finalize{height:44px;padding:0 var(--sp-5);border-radius:var(--r-md);background:var(--accent);color:var(--bg2);font-size:var(--fs-md);cursor:pointer;transition:filter var(--t-fast);border:none;flex-shrink:0;font-weight:600}.detail-module__yE7ztW__finalize:hover:not(:disabled){filter:brightness(1.06)}.detail-module__yE7ztW__finalize:disabled{background:var(--faint);cursor:not-allowed}.detail-module__yE7ztW__body{gap:var(--sp-4);flex-direction:column;display:flex}.detail-module__yE7ztW__row{gap:var(--sp-4);background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);grid-template-columns:minmax(0,3fr) minmax(300px,2fr);display:grid;overflow:hidden}.detail-module__yE7ztW__imgPane{background:var(--bg-soft);justify-content:center;align-items:flex-start;display:flex}.detail-module__yE7ztW__imgPane img{width:100%;height:auto;display:block}.detail-module__yE7ztW__textPane{padding:var(--sp-4);flex-direction:column;min-height:0;display:flex}.detail-module__yE7ztW__paneHead{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.detail-module__yE7ztW__pageNo{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.05em}.detail-module__yE7ztW__saveState{font-size:var(--fs-xs);color:var(--muted);opacity:0;transition:opacity var(--t-fast)}.detail-module__yE7ztW__saveState[data-s=saving],.detail-module__yE7ztW__saveState[data-s=saved],.detail-module__yE7ztW__saveState[data-s=error]{opacity:1}.detail-module__yE7ztW__saveState[data-s=saved]{color:var(--accent)}.detail-module__yE7ztW__saveState[data-s=error]{color:var(--c-new)}.detail-module__yE7ztW__textPane textarea{resize:vertical;min-height:160px;font-family:inherit;font-size:var(--fs-lg);color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:0;line-height:1.9}.detail-module__yE7ztW__textPane textarea::placeholder{color:var(--faint)}.detail-module__yE7ztW__rowPending{align-items:center;gap:var(--sp-3);padding:var(--sp-5);background:var(--bg2);border:1px dashed var(--rule);border-radius:var(--r-lg);color:var(--muted);font-size:var(--fs-md);display:flex}.detail-module__yE7ztW__spinner{width:var(--sp-4);height:var(--sp-4);border:2px solid var(--rule-strong);border-top-color:var(--accent2);border-radius:50%;animation:.9s linear infinite detail-module__yE7ztW__spin}@keyframes detail-module__yE7ztW__spin{to{transform:rotate(360deg)}}@media (max-width:960px){.detail-module__yE7ztW__row{grid-template-columns:1fr}.detail-module__yE7ztW__title{max-width:46vw}}
.studio-module__W4fhGG__manageBtn{height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--bg2);color:var(--muted);font-size:var(--fs-md);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);flex-shrink:0}.studio-module__W4fhGG__manageBtn[data-on=true]{background:color-mix(in srgb, var(--c-new) 8%, var(--bg2));border-color:color-mix(in srgb, var(--c-new) 40%, transparent);color:var(--c-new)}.studio-module__W4fhGG__grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.studio-module__W4fhGG__uploadCard{border:2px dashed var(--rule-strong);border-radius:var(--r-lg);background:var(--bg2-soft);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;min-height:300px;transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;display:flex}.studio-module__W4fhGG__uploadCard:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, transparent)}.studio-module__W4fhGG__uploadCard:disabled{cursor:wait;opacity:.7}.studio-module__W4fhGG__plus{font-size:var(--fs-hero);color:var(--faint);line-height:1}.studio-module__W4fhGG__uploadCard:hover:not(:disabled) .studio-module__W4fhGG__plus{color:var(--accent)}.studio-module__W4fhGG__uploadTitle{font-size:var(--fs-lg);font-weight:600}.studio-module__W4fhGG__uploadDesc{font-size:var(--fs-sm);color:var(--muted)}.studio-module__W4fhGG__card{position:relative}.studio-module__W4fhGG__cardBody{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--r-lg);transition:transform var(--t-fast), box-shadow var(--t-fast);display:block;overflow:hidden}.studio-module__W4fhGG__cardBody:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.studio-module__W4fhGG__cover{aspect-ratio:3/2;background:var(--bg-soft);position:relative;overflow:hidden}.studio-module__W4fhGG__cover img{object-fit:cover;width:100%;height:100%;display:block}.studio-module__W4fhGG__coverEmpty{width:100%;height:100%;font-size:var(--fs-char-list);color:var(--faint);justify-content:center;align-items:center;display:flex}.studio-module__W4fhGG__coverMask{background:color-mix(in srgb, var(--ink) 55%, transparent);color:var(--bg2);font-size:var(--fs-md);letter-spacing:.05em;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.studio-module__W4fhGG__meta{padding:var(--sp-3) var(--sp-4)}.studio-module__W4fhGG__title{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.studio-module__W4fhGG__row{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.studio-module__W4fhGG__chip{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent)}.studio-module__W4fhGG__chip[data-s=processing]{background:var(--accent2-soft);color:var(--accent2)}.studio-module__W4fhGG__chip[data-s=ready]{background:var(--accent-soft);color:var(--accent)}.studio-module__W4fhGG__chip[data-s=error]{background:color-mix(in srgb, var(--c-new) 10%, transparent);color:var(--c-new)}.studio-module__W4fhGG__chip[data-s=draft]{background:var(--c-info-soft);color:var(--c-info)}.studio-module__W4fhGG__count{font-size:var(--fs-xs);color:var(--muted)}.studio-module__W4fhGG__del{top:var(--sp-2);right:var(--sp-2);min-width:44px;height:44px;padding:0 var(--sp-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--ink) 65%, transparent);color:var(--bg2);font-size:var(--fs-sm);cursor:pointer;border:none;position:absolute}.studio-module__W4fhGG__del[data-confirm=true]{background:var(--c-new);padding:0 var(--sp-2)}.studio-module__W4fhGG__shelveBtn{top:var(--sp-2);right:var(--sp-2);z-index:2;min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--bg2);background:color-mix(in srgb, var(--ink) 60%, transparent);border-radius:var(--r-pill);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:none;position:absolute}.studio-module__W4fhGG__shelveBtn:hover{background:var(--accent-deep)}.studio-module__W4fhGG__shelveBtn[data-on=true]{background:var(--accent)}.studio-module__W4fhGG__empty{text-align:center;color:var(--muted);padding:var(--sp-6) 0 var(--sp-3);font-size:var(--fs-md);grid-column:1/-1}
