:root{--bg: #f5f0e6;--bg-panel: #faf7f0;--text: #3d3a36;--text-muted: #7a756c;--text-light: #a8a299;--accent: #8eb4c9;--accent-soft: rgba(142, 180, 201, .18);--wenyan-color: #8b6944;--wenyan-bg: rgba(139, 105, 68, .12);--wenyan-border: rgba(139, 105, 68, .38);--baihua-color: #4a7350;--baihua-bg: rgba(92, 120, 92, .12);--baihua-border: rgba(92, 120, 92, .38);--highlight-bg: #f0ebd8;--border: rgba(61, 58, 54, .08);--shadow: rgba(61, 58, 54, .06);--header-h: 64px;--panel-w: 420px;--read-max: 1300px;--col-gap: 80px;--para-gap: 36px;--transition: .45s cubic-bezier(.22, 1, .36, 1);--fade-dim: .25;--read-font-size: 18px;--ui-font-scale: 1;--layout-transition: .55s cubic-bezier(.22, 1, .36, 1);--font-latin: "Cormorant Garamond", Georgia, serif;--font-cjk: "Noto Serif SC", serif}html[data-font-preset=literata]{--font-latin: "Literata", Georgia, serif;--font-cjk: "Noto Serif SC", serif}[data-theme=dark]{--bg: #1c1b19;--bg-panel: #252320;--text: #e8e4dc;--text-muted: #a8a299;--text-light: #6b6760;--accent: #7aabbf;--accent-soft: rgba(122, 171, 191, .15);--wenyan-color: #c4a574;--wenyan-bg: rgba(196, 165, 116, .14);--wenyan-border: rgba(196, 165, 116, .42);--baihua-color: #9bc49f;--baihua-bg: rgba(140, 180, 140, .14);--baihua-border: rgba(140, 180, 140, .42);--highlight-bg: rgba(240, 235, 216, .2);--border: rgba(232, 228, 220, .08);--shadow: rgba(0, 0, 0, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:calc(16px * var(--ui-font-scale, 1));scroll-behavior:smooth}body{font-family:"Noto Serif SC",Cormorant Garamond,Georgia,serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background var(--transition),color var(--transition);overflow-x:hidden}.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:var(--bg);border-bottom:none;z-index:100;transition:background var(--transition),border-color var(--transition)}.header .toolbar-unified-group,.header .icon-btn,.header .display-settings-btn{background:transparent}.header .icon-btn:hover,.header .icon-btn.active{background:var(--accent-soft)}.header .display-settings-btn:hover,.header .display-settings-btn:focus-visible,.header .display-settings-btn[aria-expanded=true]{background:var(--accent-soft)}.site-brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 1rem;min-width:0}.site-logo{display:flex;align-items:baseline;gap:0;border:none;background:transparent;cursor:pointer;font-family:inherit;font-weight:300;font-size:1.125rem;letter-spacing:.35em;text-indent:.35em;color:var(--text);padding:.25rem 0;transition:color .25s,opacity .25s}.site-logo:hover{color:var(--text-muted);opacity:.85}.site-hall-nav{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.site-hall{margin:0;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;font-weight:400;letter-spacing:.15em;color:var(--text-light);font-size:.75rem;line-height:1.4;transition:color .2s}.site-hall:hover,.site-hall:focus-visible{color:var(--text-muted);outline:none}.site-hall--active{color:var(--text-muted)}.header-actions{position:relative;display:flex;align-items:center;gap:.45rem;flex:1;min-width:0;justify-content:flex-end}.header-utility-cluster{position:relative;display:flex;align-items:center;gap:.35rem;flex-shrink:0}.header-utility-auth{display:flex;align-items:center;gap:.35rem}body[data-view=reading] .reading-tools:not([hidden]){border-left:1px solid var(--border);padding-left:.45rem;margin-left:.05rem}.reading-tools .reading-edit-toolbar{margin-left:0}.reading-settings-slot{display:inline-flex;align-items:center;flex-shrink:0}.reading-settings-slot:empty{display:none}.display-settings-btn--reading{height:2rem;min-height:2rem;padding:0 .55rem}.reading-tools{display:flex;align-items:center;gap:.45rem;flex:0 1 auto;min-width:0;flex-wrap:nowrap;justify-content:flex-start;overflow:visible}.reading-toolbar-cluster[hidden]{display:none!important}.reading-toolbar-cluster{display:flex;align-items:center;flex-shrink:1;min-width:0;gap:.35rem}.toolbar-unified-group{display:inline-flex;align-items:stretch;height:2rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);overflow:visible}.toolbar-unified-group>.lang-select,.toolbar-unified-group>.ai-translate-root,.toolbar-unified-group>.chinese-text-select{display:flex;align-items:stretch}.toolbar-unified-group .lang-select+.lang-select,.toolbar-unified-group .lang-select+.ai-translate-root,.toolbar-unified-group .ai-translate-root+.lang-select,.toolbar-unified-group .chinese-text-select+.ai-translate-root,.toolbar-unified-group .ai-translate-root+.toolbar-toc-btn{border-left:1px solid var(--border)}.toolbar-text-btn{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;height:100%;min-height:2rem;padding:0 .65rem;border:none;border-radius:0;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:color .2s,background .2s}.toolbar-text-btn:hover,.lang-select.open>.toolbar-text-btn{color:var(--text);background:var(--accent-soft)}.toolbar-btn-prefix{color:var(--text-light);letter-spacing:.08em}.toolbar-toc-btn{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:2.5rem;line-height:1;padding-top:.06em}.chinese-text-select{position:relative}.chinese-text-label--wenyan{color:var(--wenyan-color)}.chinese-text-label--baihua{color:var(--baihua-color)}.chinese-text-panel{position:absolute;top:calc(100% + 5px);left:0;min-width:108px;margin:0;padding:.35rem 0;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 20px var(--shadow);z-index:210;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease}.chinese-text-select.open .chinese-text-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.chinese-text-menu{margin:0;padding:0;list-style:none}.chinese-text-pick{display:block;width:100%;text-align:left;padding:.55rem .85rem;border:none;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.chinese-text-pick[data-chinese-segment=wenyan]{color:var(--wenyan-color)}.chinese-text-pick[data-chinese-segment=baihua]{color:var(--baihua-color)}.chinese-text-pick:hover,.chinese-text-pick.selected{background:var(--accent-soft)}.chinese-text-pick[data-chinese-segment=wenyan].selected{color:var(--wenyan-color);background:var(--wenyan-bg)}.chinese-text-pick[data-chinese-segment=baihua].selected{color:var(--baihua-color);background:var(--baihua-bg)}.chinese-text-pick.disabled-option,.chinese-text-pick:disabled{opacity:.42;cursor:not-allowed}.chinese-text-foreign-item{position:relative}.chinese-text-foreign-wrap{position:relative;display:flex;align-items:stretch}.chinese-text-foreign-trigger.selected{color:var(--text);background:var(--accent-soft)}.chinese-text-foreign-flyout{position:absolute;left:calc(100% + 4px);top:0;min-width:96px;margin:0;padding:.35rem 0;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 20px var(--shadow);z-index:220;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease}.chinese-text-foreign-wrap:hover .chinese-text-foreign-flyout,.chinese-text-foreign-wrap:focus-within .chinese-text-foreign-flyout{opacity:1;pointer-events:auto;transform:translate(0)}body.chinese-segment-wenyan-only:not(.blind-reading-mode) .box-right{display:none!important}body.chinese-segment-wenyan-only:not(.blind-reading-mode) .box-left{flex:1 1 100%!important;max-width:100%!important}.toolbar-inline-actions{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.reading-edit-toolbar{margin-left:.15rem}body:not([data-view=reading]) .reading-edit-toolbar{display:none!important}.reading-edit-btn[hidden]{display:none!important}.reading-edit-btn.active{color:var(--accent, #8b6914);border-color:var(--accent);background:var(--accent-soft)}.reading-edit-actions-divider[hidden]{display:none!important}body.reading-edit-mode:not(.source-edit-mode) .box-left .paragraph-interactive,body.reading-edit-mode:not(.source-edit-mode) .box-left .sentence,body.reading-edit-mode:not(.translation-edit-mode) .box-right .paragraph-interactive,body.reading-edit-mode:not(.translation-edit-mode) .box-right .sentence{cursor:text}body.reading-edit-mode:not(.source-edit-mode) .box-left .paragraph-interactive,body.reading-edit-mode:not(.source-edit-mode) .box-left .sentence{outline:1px dashed transparent;outline-offset:3px;border-radius:2px}body.reading-edit-mode:not(.source-edit-mode) .box-left .paragraph-interactive:hover,body.reading-edit-mode:not(.source-edit-mode) .box-left .sentence:hover{outline-color:color-mix(in srgb,var(--accent) 35%,transparent)}body.reading-edit-mode:not(.translation-edit-mode) .box-right .paragraph-interactive,body.reading-edit-mode:not(.translation-edit-mode) .box-right .sentence{outline:1px dashed transparent;outline-offset:3px;border-radius:2px}body.reading-edit-mode:not(.translation-edit-mode) .box-right .paragraph-interactive:hover,body.reading-edit-mode:not(.translation-edit-mode) .box-right .sentence:hover{outline-color:color-mix(in srgb,#3d6b8c 35%,transparent)}body.reading-edit-mode .selection-lookup-popover{display:none!important}.toolbar-labeled-btn{display:inline-flex;align-items:center;gap:.25rem;height:2rem;padding:0 .45rem;margin:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text-muted);font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.04em;cursor:pointer;flex-shrink:0}.toolbar-labeled-btn svg{width:14px;height:14px;flex-shrink:0}.toolbar-labeled-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.source-save-btn:not([hidden]){color:color-mix(in srgb,var(--text-muted) 80%,var(--accent) 20%)}.translation-save-btn:not([hidden]){color:color-mix(in srgb,var(--text-muted) 75%,#3d6b8c 25%)}.book-submit-btn[hidden],#bookSubmissionBtn[hidden],.book-cloud-sync-btn[hidden]{display:none!important}.book-submit-btn:not([hidden]),.book-structure-btn:not([hidden]),.book-cloud-sync-btn:not([hidden]){background:var(--bg);border-color:transparent;color:var(--text-muted)}.book-submit-btn:hover:not(:disabled),.book-structure-btn:hover:not(:disabled),.book-cloud-sync-btn:hover:not(:disabled){background:var(--bg);border-color:transparent;color:var(--text)}.book-cloud-sync-btn--synced:not(:disabled){color:color-mix(in srgb,var(--text-muted) 70%,#3d6b8c 30%)}.book-cloud-sync-btn--loading:not(:disabled){opacity:.65;pointer-events:none}.book-submit-btn--pending:not(:disabled),.book-submit-btn--published:not(:disabled){background:var(--bg);border-color:transparent;color:var(--text-muted)}body[data-view=reading] .reading-edit-toolbar:not([hidden]){display:inline-flex}.toolbar-icon-btn{width:2rem;height:2rem;min-width:2rem;padding:0;border-radius:4px}.toolbar-section-divider{width:1px;align-self:stretch;min-height:1.5rem;margin:0 .15rem;background:var(--border);flex-shrink:0}.reading-tools[hidden]{display:none}.header-theme-toggle{flex-shrink:0}body[data-view=reading] .header-utility-cluster .import-book-wrap--home{display:none}body[data-view=reading] .header-utility-auth{display:none!important}body[data-view=reading] .ui-locale-wrap{display:none}body[data-view=profile] .header-utility-cluster .import-book-wrap--home,body[data-view=browse] .header-utility-cluster .import-book-wrap--home,body[data-view=myShelf] .header-utility-cluster .import-book-wrap--home{display:flex}.reading-mode-toggles{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.reading-mode-toggles[hidden]{display:none}.reading-mark-toolbar{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.reading-mark-toolbar[hidden]{display:none}.reading-mark-root{position:relative}.reading-mark-root .reading-mark-btn[aria-expanded=true],.reading-mark-btn.reading-mark-btn--active{color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:3px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}[data-theme=dark] .reading-mark-root .reading-mark-btn[aria-expanded=true],[data-theme=dark] .reading-mark-btn.reading-mark-btn--active{background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.reading-mark-toolbar--mode-on .reading-mark-btn:not(.reading-mark-btn--active){opacity:.72}.reading-mark-root .lang-menu{min-width:auto;right:0;top:calc(100% + 5px)}.reading-listen-root{position:relative}.reading-listen-root:after{content:"";position:absolute;left:-6px;right:-6px;top:100%;height:10px;display:none}.reading-listen-root.open:after,.reading-listen-root:hover:after{display:block}.reading-listen-root .reading-listen-btn[aria-pressed=true],.reading-listen-btn.reading-listen-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}[data-theme=dark] .reading-listen-root .reading-listen-btn[aria-pressed=true],[data-theme=dark] .reading-listen-btn.reading-listen-btn--active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.reading-listen-btn.reading-listen-btn--hint{border-color:#b450508c;color:#b45050;animation:reading-listen-hint .45s ease 2}.reading-listen-btn.reading-listen-btn--disabled:not(.reading-listen-btn--active){opacity:.55;cursor:default}@keyframes reading-listen-hint{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.reading-listen-root .reading-listen-menu{min-width:9.5rem;right:0;top:calc(100% - 1px);padding-top:6px}.reading-listen-voice-pick{white-space:nowrap}.reading-listen-voice-note{padding:.45rem .65rem;font-size:.78rem;line-height:1.45;color:var(--muted, #666);max-width:14rem}.reading-mark-menu--lines,.reading-mark-menu--colors{display:flex;flex-direction:row;gap:.3rem;padding:.35rem;overflow:visible}.reading-mark-menu--lines li,.reading-mark-menu--colors li{display:inline-flex}.reading-mark-line-pick{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2rem;padding:0!important;border:1px solid var(--border)!important;border-radius:4px!important;background:var(--bg-soft, rgba(0, 0, 0, .03))!important;color:var(--text);cursor:pointer}.reading-mark-line-icon{width:1.75rem;height:.65rem;display:block}.reading-mark-line-pick.selected,.reading-mark-line-pick:hover,.reading-mark-line-pick:focus-visible{border-color:var(--accent)!important;background:var(--accent-soft)!important;outline:none}.lang-select{position:relative}.lang-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.05em;padding:.38rem .7rem;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-light);cursor:pointer;white-space:nowrap;transition:color .25s,border-color .25s}.lang-btn:hover,.lang-select.open .lang-btn{color:var(--text-muted);border-color:#3d3a362e}.lang-current{color:var(--text-muted)}.ai-translate-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.05em;padding:.38rem .75rem;border:none;border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .25s,background .25s,opacity .25s}.toolbar-unified-group .ai-translate-btn{padding:0 .65rem}.ai-translate-btn:hover:not(:disabled){color:var(--text);background:var(--accent-soft)}.ai-translate-btn:disabled{cursor:default;opacity:.85}.ai-translate-root.is-loading .ai-translate-btn{background:transparent;color:var(--text-light)}.ai-translate-root .ai-translate-btn.is-error{border-color:#b4505073;color:#b45050}.lang-menu{position:absolute;top:calc(100% + 5px);right:0;min-width:108px;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 20px var(--shadow);z-index:200;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease;overflow:hidden}.lang-select.open .lang-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-menu button{display:block;width:100%;text-align:left;padding:.55rem .85rem;border:none;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.lang-menu button:hover:not(.reading-mark-swatch),.lang-menu button.selected:not(.reading-mark-swatch){background:var(--accent-soft);color:var(--text)}.lang-menu button.disabled-option{opacity:.4;cursor:not-allowed}.reading-mark-menu--colors{display:flex;flex-direction:row;gap:.35rem;padding:.4rem .45rem;min-width:auto;overflow:visible}.reading-mark-menu--colors li{display:inline-flex}.reading-mark-menu--colors .reading-mark-swatch{display:block;width:1.35rem;height:1.35rem;padding:0;border:1px solid rgba(61,58,54,.16);border-radius:50%;cursor:pointer;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.reading-mark-menu--colors .reading-mark-swatch:hover,.reading-mark-menu--colors .reading-mark-swatch:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none;transform:scale(1.06)}.reading-mark-menu--colors .reading-mark-swatch.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.reading-mark-menu--colors .reading-mark-swatch.selected,.reading-mark-menu--colors .reading-mark-swatch:hover,.reading-mark-menu--colors .reading-mark-swatch:focus-visible{color:inherit}.font-btn{font-family:Cormorant Garamond,serif;font-size:.75rem;font-weight:500;width:32px;height:32px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .25s,border-color .25s,background .25s}.font-btn:hover:not(:disabled){color:var(--text-muted);border-color:#3d3a362e;background:var(--accent-soft)}.font-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .3s ease,border-color var(--transition),color var(--transition),background var(--transition)}.icon-btn:hover{transform:scale(1.06);border-color:var(--accent);color:var(--accent)}.icon-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.icon-btn svg{width:18px;height:18px}.translation-edit-btn[hidden],.translation-save-btn[hidden],.translation-export-btn[hidden],.source-save-btn[hidden],.source-revert-btn[hidden]{display:none!important}body.translation-edit-mode .translation-save-btn:not([disabled]){color:var(--accent, #8b6914)}body.source-edit-mode .source-save-btn:not([disabled]){color:var(--accent, #8b6914)}body.translation-edit-mode .box-right .translation-editable,body.source-edit-mode .box-left .source-editable{outline:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px;border-radius:2px;cursor:text}body.source-edit-mode .box-left .source-editable:focus{outline-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}body.translation-edit-mode .box-right .translation-editable:focus{outline-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}body.translation-edit-mode .selection-lookup-popover,body.source-edit-mode .selection-lookup-popover{display:none!important}body.translation-edit-mode.chinese-segment-wenyan-only:not(.blind-reading-mode) .box-right{display:block!important}body.translation-edit-mode.chinese-segment-wenyan-only:not(.blind-reading-mode) .box-left{flex:1 1 50%!important;max-width:50%!important}body.translation-edit-mode.chinese-segment-wenyan-only:not(.blind-reading-mode) .paragraph-row.bilingual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.translation-edit-mode .box-right .translation-editable:empty:before,body.translation-edit-mode .box-right .translation-editable[data-empty-placeholder="1"]:empty:before{content:"在此输入译文…";color:var(--text-light);font-style:italic;pointer-events:none}.display-settings-btn{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.4rem .7rem .4rem .55rem;font-family:"Noto Serif SC",serif;font-size:.6875rem;font-weight:400;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease}.display-settings-btn__icon{width:14px;height:14px;flex-shrink:0;opacity:.85}.display-settings-btn__label{line-height:1}.display-settings-btn:hover,.display-settings-btn:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.display-settings-btn[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.swap-btn{font-size:1.125rem;font-weight:400;letter-spacing:0;line-height:1}.swap-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.reading-mode-toggles .reading-layout-root{position:relative}.reading-mode-toggles .reading-layout-btn{font-family:"Noto Serif SC",serif;font-size:.9375rem;font-weight:500;letter-spacing:.02em;line-height:1;transition:color var(--transition),border-color var(--transition),background var(--transition),transform .2s ease}.reading-mode-toggles .reading-layout-root .lang-menu{min-width:148px;right:0;top:calc(100% + 5px)}.reading-mode-toggles .reading-layout-root--sentence .reading-layout-btn{border-color:#3d7a5459;color:#3d7a54;background:#3d7a5414}.reading-mode-toggles .reading-layout-root--ai .reading-layout-btn{border-color:#7a5c3d59;color:#7a5c3d;background:#7a5c3d14}body.sentence-align-loading .reading-layout-root .reading-layout-btn{opacity:.55;pointer-events:none}.chinese-vertical-btn{font-family:"Noto Serif SC",serif;font-size:.9375rem;font-weight:500;letter-spacing:.02em;line-height:1;transition:color var(--transition),border-color var(--transition),background var(--transition),transform .2s ease}.chinese-vertical-btn.active{border-color:#8b694473;color:#8b6944;background:#8b69441a}.chinese-vertical-line-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;font-weight:500;letter-spacing:0;line-height:1;transition:color var(--transition),border-color var(--transition),background var(--transition),transform .2s ease}.chinese-vertical-line-btn.active{border-color:#8b694473;color:#8b6944;background:#8b69441a}.chinese-vertical-scroll-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;font-weight:500;letter-spacing:0;line-height:1;transition:color var(--transition),border-color var(--transition),background var(--transition),transform .2s ease}.chinese-vertical-scroll-btn.active{border-color:#8b694473;color:#8b6944;background:#8b69441a}body:not(.chinese-vertical-layout) #chineseVerticalLineToggle,body:not(.chinese-vertical-layout) #chineseVerticalScrollToggle{display:none!important}body.chinese-vertical-layout.chinese-vertical-no-lines .paragraph-row.bilingual-row{border-left:none;padding-inline-start:.65rem}.chinese-script-btn{font-family:"Noto Serif SC",serif;font-size:.9375rem;font-weight:500;letter-spacing:.02em;line-height:1;transition:color var(--transition),border-color var(--transition),background var(--transition)}.chinese-script-btn.active{border-color:#5c785c73;color:#4a7350;background:#5c785c1a}body[data-view=reading]:not(.chinese-classical-reading) #chineseVerticalToggle,body[data-view=reading]:not(.chinese-classical-reading) #chineseScriptToggle{display:none!important}.chinese-classical-section .chinese-annotation-item,.chinese-classical-section .chinese-annotation-line,.chinese-classical-section .chinese-allusion-line{font-family:var(--font-cjk);line-height:1.85;letter-spacing:.04em}.chinese-annotations ruby.chinese-ruby,.chinese-annotations ruby.chinese-ruby rb{font-family:var(--font-cjk);font-weight:inherit}.chinese-annotations ruby.chinese-ruby rt{font-family:var(--font-cjk);font-size:.72em;font-weight:inherit;letter-spacing:.02em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.chinese-annotations .chinese-annotation-term ruby{margin-inline:.05em}.chinese-annotations .chinese-annotation-sep{color:var(--text-light)}.chinese-annotations .chinese-annotation-gloss{color:var(--text)}.chinese-allusion-empty{color:var(--text-light);font-style:italic}[data-theme=dark] .chinese-script-btn.active{border-color:#8cb48c73;color:#9bc49f;background:#8cb48c1f}body.chinese-vertical-layout .reading-area{scroll-behavior:smooth}body.chinese-vertical-layout{--vertical-char-height: calc(var(--read-font-size) * .94 * 1.95)}body.chinese-vertical-layout .bilingual-flow{display:flex;flex-direction:row-reverse;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start;align-items:flex-start;gap:0;width:100%;min-height:12rem;padding:.25rem .35rem 2rem 0;transition:opacity .35s ease}body.chinese-vertical-layout .paragraph-row.bilingual-row{display:block;width:auto!important;max-width:none;max-height:calc(100dvh - var(--vertical-char-height) * 4);grid-template-columns:unset;margin:0 0 1.75rem;padding:.35rem .65rem .35rem .85rem;border-left:1px solid rgba(120,96,72,.22);flex:0 0 auto;writing-mode:vertical-rl;text-orientation:upright;-webkit-writing-mode:vertical-rl;box-sizing:border-box}body.chinese-vertical-layout.chinese-vertical-flow-horizontal{overflow-x:auto;overflow-y:hidden;height:100dvh}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .reading-area{box-sizing:border-box;width:max-content;min-width:100%;max-width:none;overflow:visible;height:auto;padding-top:2rem;padding-bottom:1rem}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .main-container{width:max-content;min-width:100%;max-width:none}body.chinese-vertical-layout.chinese-vertical-flow-horizontal #content{overflow:visible;width:max-content;min-width:100%}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .bilingual-flow{flex-wrap:nowrap;width:max-content;min-width:100%;height:calc(100dvh - var(--header-h) - 11rem);min-height:12rem;margin-inline-start:auto;padding-bottom:0}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .paragraph-row.bilingual-row{max-height:none;height:100%;margin-bottom:0}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .paragraph-row.bilingual-row:last-child{margin-bottom:0}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .box-left,body.chinese-vertical-layout.chinese-vertical-flow-horizontal .box-left .col-text,body.chinese-vertical-layout.chinese-vertical-flow-horizontal .paragraph-row .paragraph{height:100%;box-sizing:border-box}body.chinese-vertical-layout .paragraph-row.bilingual-row:last-child{margin-bottom:1.75rem}body.chinese-vertical-layout .chapter-label{display:none}body.chinese-vertical-layout .box-right{display:none!important}body.chinese-vertical-layout .box-left,body.chinese-vertical-layout .box-left .col-text,body.chinese-vertical-layout .paragraph-row .paragraph{width:auto!important;max-width:none!important;flex:none!important}body.chinese-vertical-layout .paragraph-row .paragraph,body.chinese-vertical-layout .paragraph-row .col-text{writing-mode:inherit;text-orientation:inherit}body.chinese-vertical-layout .paragraph-zh,body.chinese-vertical-layout .box-left .col-text{font-family:var(--font-cjk);font-size:calc(var(--read-font-size) * .94);line-height:1.95;letter-spacing:.12em;font-weight:400;color:var(--text);text-align:start;text-align-last:auto;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:normal}body.chinese-vertical-layout .paragraph-row .paragraph-interactive{cursor:text}body.chinese-vertical-layout #hint{letter-spacing:.08em}[data-theme=dark] body.chinese-vertical-layout .paragraph-row.bilingual-row{border-left-color:#c8b4962e}[data-theme=dark] body.chinese-vertical-layout .chinese-vertical-btn.active,[data-theme=dark] body.chinese-vertical-layout .chinese-vertical-line-btn.active,[data-theme=dark] body.chinese-vertical-layout .chinese-vertical-scroll-btn.active{border-color:#c8a87873;color:#c8a878;background:#c8a8781f}.bilingual-row--stacked-fallback .col-text{line-height:1.65}#themeToggle .icon-sun,[data-theme=dark] #themeToggle .icon-moon{display:none}[data-theme=dark] #themeToggle .icon-sun{display:block}#blindReadingToggle .icon-blind-pure,body.blind-reading-mode #blindReadingToggle .icon-blind-dual{display:none}body.blind-reading-mode #blindReadingToggle .icon-blind-pure{display:block}body.blind-reading-mode #foreignLangCluster{display:none}.lang-toolbar-group{display:inline-flex;align-items:stretch;gap:.35rem;overflow:visible}.lang-toolbar-group--blind{border:1px solid var(--border);border-radius:3px;overflow:visible}.lang-toolbar-group--blind .blind-lang-select .blind-lang-btn{border:none;border-radius:0}.blind-classical-lang-select{position:relative}.blind-classical-lang-btn{width:2rem;height:100%;min-height:2rem;padding:0;border:none;border-radius:0;font-family:"Noto Serif SC",serif;font-size:.75rem;font-weight:500;letter-spacing:.05em;color:var(--text-muted);background:transparent;transition:color .2s,background .2s}.blind-classical-lang-btn.is-wenyan{color:var(--wenyan-color);background:var(--wenyan-bg)}.blind-classical-lang-btn.is-baihua{color:var(--baihua-color);background:var(--baihua-bg)}.blind-classical-lang-btn:hover,.blind-classical-lang-select.open .blind-classical-lang-btn{color:var(--text);background:var(--accent-soft)}.blind-classical-lang-btn.is-wenyan:hover,.blind-classical-lang-select.open .blind-classical-lang-btn.is-wenyan{color:var(--wenyan-color);background:var(--wenyan-bg)}.blind-classical-lang-btn.is-baihua:hover,.blind-classical-lang-select.open .blind-classical-lang-btn.is-baihua{color:var(--baihua-color);background:var(--baihua-bg)}.blind-classical-lang-btn__glyph{display:block;line-height:1}.blind-classical-lang-panel{min-width:96px;padding:.35rem 0;overflow:visible}.blind-classical-lang-list{list-style:none;margin:0;padding:0}.blind-classical-lang-pick{display:block;width:100%;text-align:left;padding:.45rem .85rem;border:none;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.blind-classical-lang-pick:hover,.blind-classical-lang-pick.selected{background:var(--accent-soft);color:var(--text)}.blind-classical-lang-pick[data-blind-lang=zh]{color:var(--wenyan-color)}.blind-classical-lang-pick[data-blind-lang=zh]:hover,.blind-classical-lang-pick[data-blind-lang=zh].selected{color:var(--wenyan-color);background:var(--wenyan-bg)}.blind-classical-lang-pick[data-blind-lang=baihua]{color:var(--baihua-color)}.blind-classical-lang-pick[data-blind-lang=baihua]:hover,.blind-classical-lang-pick[data-blind-lang=baihua].selected{color:var(--baihua-color);background:var(--baihua-bg)}.blind-classical-lang-pick[data-blind-lang=baihua].disabled-option,.blind-classical-lang-pick[data-blind-lang=baihua]:disabled{color:var(--text-light)}.blind-classical-lang-pick.disabled-option,.blind-classical-lang-pick:disabled{opacity:.45;cursor:not-allowed}.blind-classical-foreign-item,.blind-classical-foreign-group{position:relative}.blind-classical-foreign-group .blind-classical-foreign-trigger{width:100%}.blind-classical-foreign-flyout{position:absolute;left:calc(100% + 4px);top:0}.blind-classical-lang-select.open .blind-classical-lang-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-toolbar-group--blind .ai-translate-root .ai-translate-btn{border:none;border-left:1px solid var(--border);border-radius:0;background:transparent}.ai-translate-root.is-active .ai-translate-btn{color:var(--text)}.ai-translate-panel{min-width:148px;padding:.35rem 0;overflow:visible}.ai-translate-classical-col{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.15rem .55rem .35rem}.ai-translate-target-pick,.ai-translate-foreign-trigger{width:100%;box-sizing:border-box;padding:.45rem .65rem;border:1px solid var(--border);border-radius:3px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.ai-translate-target-pick:hover,.ai-translate-foreign-trigger:hover,.ai-translate-target-pick.selected,.ai-translate-foreign-trigger.selected{background:var(--accent-soft);color:var(--text);border-color:#3d3a3638}.ai-translate-target-pick[data-ai-lang=baihua]{color:var(--baihua-color);border-color:var(--baihua-border)}.ai-translate-target-pick[data-ai-lang=baihua]:hover,.ai-translate-target-pick[data-ai-lang=baihua].selected{color:var(--baihua-color);background:var(--baihua-bg);border-color:var(--baihua-border)}.ai-translate-foreign-group{position:relative;width:100%}.ai-translate-foreign-group .ai-translate-foreign-trigger{width:100%}.ai-translate-foreign-flyout{position:absolute;left:0;top:calc(100% + 4px);min-width:100%;margin:0;padding:.35rem 0;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 20px var(--shadow);z-index:220;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease}.ai-translate-foreign-group:hover .ai-translate-foreign-flyout,.ai-translate-foreign-group:focus-within .ai-translate-foreign-flyout{opacity:1;pointer-events:auto;transform:translateY(0)}.ai-translate-foreign-flyout:empty{display:none}.ai-translate-panel .ai-translate-section-label,.ai-translate-section-label{margin:0;padding:.35rem .85rem .2rem;font-size:.625rem;letter-spacing:.12em;color:var(--text-light)}.ai-translate-lang-list{list-style:none;margin:0;padding:0}.ai-translate-lang-list button{display:block;width:100%;text-align:left;padding:.45rem .85rem;border:none;background:transparent;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.ai-translate-lang-list button:hover,.ai-translate-lang-list button.selected{background:var(--accent-soft);color:var(--text)}.ai-translate-hint{margin:0;padding:.35rem .85rem .15rem;font-size:.625rem;line-height:1.55;letter-spacing:.04em;color:var(--text-light)}.ai-translate-go{display:block;width:calc(100% - 1.1rem);margin:.45rem .55rem .35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:3px;background:var(--accent-soft);font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s}.ai-translate-go:hover{color:var(--text);border-color:#3d3a3638}.ai-translate-root.open .ai-translate-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.ai-translate-root[hidden]{display:none}.blind-lang-bar{display:none;align-items:stretch;gap:0;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);white-space:nowrap;background:transparent;overflow:visible}body.blind-reading-mode .blind-lang-bar{display:flex}.blind-lang-select{position:relative}.blind-lang-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;padding:.38rem .65rem;border:none;border-radius:3px 0 0 3px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .25s,background .25s}.blind-lang-btn:hover,.blind-lang-select.open .blind-lang-btn{color:var(--text);background:var(--accent-soft)}.blind-lang-select .lang-menu{left:0;right:auto;min-width:120px}.blind-toc-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;padding:.28rem .65rem;margin:0;border:none;border-left:1px solid var(--border);border-radius:0 2px 2px 0;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .25s,background .25s}.blind-toc-btn:hover{color:var(--text);background:var(--accent-soft)}#foreignLangCluster{display:flex;align-items:center;gap:.45rem;overflow:visible}.main{min-height:calc(100vh - var(--header-h));padding-top:var(--header-h)}.view{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--transition),transform var(--transition),visibility var(--transition);pointer-events:none;position:absolute;left:0;right:0;top:var(--header-h);height:0;overflow:hidden}.view.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;position:relative;top:0;height:auto;overflow:visible}#artGalleryView.view,#artGalleryView.view.active{transform:none;transition:opacity .12s ease,visibility .12s ease}.main-container{width:min(100%,var(--read-max));max-width:var(--read-max);margin-left:auto;margin-right:auto}.home-area{padding:3rem 2.25rem 4.5rem;min-height:calc(100vh - var(--header-h))}.home-hero{text-align:center;margin-bottom:2rem}.home-tagline{font-family:"Noto Serif SC",serif;font-size:1.125rem;letter-spacing:.28em;color:var(--text-muted);margin-bottom:.35rem}.home-hall-label{font-size:.72rem;letter-spacing:.2em;color:var(--text-light);margin:0 0 1.5rem}.home-search-wrap{position:relative;max-width:520px;margin:0 auto 2.25rem}.my-shelf-area{min-height:calc(100vh - var(--header-h));padding:2.5rem 0 4rem}.my-shelf-back-btn{font-size:.75rem;letter-spacing:.08em;color:var(--text-light);background:none;border:none;cursor:pointer;padding:0;margin-bottom:2rem;transition:color .2s}.my-shelf-back-btn:hover,.my-shelf-back-btn:focus-visible{color:var(--text);outline:none}.my-shelf-empty{width:100%;padding:2.5rem 0;text-align:center}.my-shelf-empty-lead{margin:0 0 1.25rem;color:var(--text-light);font-size:.875rem;letter-spacing:.06em;line-height:1.7}.my-shelf-empty-btn{font-family:"Noto Serif SC",serif;font-size:.75rem;letter-spacing:.1em;padding:.5rem 1.1rem;border:1px solid var(--accent);border-radius:4px;background:var(--accent-soft);color:var(--text);cursor:pointer}.my-shelf-book-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.shelf-remove-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;padding:0;border:none;background:none;color:var(--text-light);cursor:pointer;transition:color .2s}.shelf-remove-btn:hover,.shelf-remove-btn:focus-visible{color:#a85858;outline:none}.browse-book-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.shelf-toggle-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;padding:.35rem .75rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.shelf-toggle-btn:hover,.shelf-toggle-btn:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.shelf-toggle-btn--on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.shelf-toggle-btn--compact{flex-shrink:0;align-self:center;margin-right:.75rem}.search-result-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.search-result-row:last-child{border-bottom:none}.search-result-row .search-result-item{flex:1;border-bottom:none}.home-search-results{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:4px;box-shadow:0 8px 28px var(--shadow);overflow:hidden}.home-search-results[hidden]{display:none}.search-result-item{display:flex;align-items:center;gap:1rem;width:100%;padding:.875rem 1rem;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;text-align:left;transition:background .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item:focus-visible{background:var(--accent-soft);outline:none}.search-result-cover.book-physical--flat{flex-shrink:0;width:56px;height:84px;margin-bottom:0}.search-result-cover .cover-lang-band{height:4px}.search-result-cover .cover-lang-code{font-size:.4375rem;padding:.35rem .25rem .15rem;letter-spacing:.14em;text-indent:.14em}.search-result-cover .cover-title-original{font-size:.5rem;line-height:1.25;padding:0 .35rem .4rem;-webkit-line-clamp:4}.search-result-meta{min-width:0}.search-result-title{font-family:Cormorant Garamond,serif;font-size:1.0625rem;font-weight:500;color:var(--text);margin-bottom:.25rem;line-height:1.3}.search-result-author{font-size:.6875rem;color:var(--text-light);letter-spacing:.05em;line-height:1.45}.home-search-empty{padding:1rem 1.25rem;font-size:.8125rem;color:var(--text-light);text-align:center}.home-search{width:100%;font-family:"Noto Serif SC",serif;font-size:.875rem;font-weight:300;letter-spacing:.04em;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);outline:none;transition:border-color .3s,box-shadow .3s}.home-search::placeholder{color:var(--text-light);opacity:.75}.home-search:focus{border-color:#8eb4c973;box-shadow:0 0 0 3px var(--accent-soft)}.import-book-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;margin:0 auto}.import-book-wrap--compact{margin:0}.import-book-formats{position:absolute;top:calc(100% + .45rem);left:50%;transform:translate(-50%) translateY(-3px);white-space:nowrap;font-family:"Noto Serif SC",serif;font-size:.6875rem;font-weight:300;letter-spacing:.08em;color:var(--text-light);opacity:0;pointer-events:none;transition:opacity .32s ease,transform .32s cubic-bezier(.22,1,.36,1)}.import-book-wrap:hover .import-book-formats{opacity:1;transform:translate(-50%) translateY(0)}.import-book-wrap--compact .import-book-formats{top:calc(100% + .35rem);font-size:.625rem;z-index:30}.import-book-btn{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.72rem 1.35rem;font-family:"Noto Serif SC",serif;font-size:.8125rem;font-weight:400;letter-spacing:.06em;color:var(--text-muted);background:transparent;border:1px dashed rgba(142,180,201,.45);border-radius:999px;cursor:pointer;transition:color .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.import-book-btn:hover,.import-book-btn:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);box-shadow:0 4px 18px #8eb4c926;transform:translateY(-1px);outline:none}.import-book-btn:active{transform:translateY(0) scale(.98)}.import-book-btn--compact{margin:0;padding:.45rem .75rem;font-size:.6875rem;letter-spacing:.04em;border-radius:4px;border-style:solid;border-color:var(--border)}.import-book-btn--compact:hover,.import-book-btn--compact:focus-visible{transform:none}.import-status{font-size:.75rem;letter-spacing:.04em;color:var(--text-light);min-height:0}.import-status--header{position:absolute;top:calc(100% + .25rem);right:0;left:auto;margin:0;white-space:nowrap;pointer-events:none;z-index:20}.import-status[hidden]{display:none}.import-status.error{color:#b85c5c}[data-theme=dark] .import-status.error{color:#e08888}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.shelf-head-left{display:flex;align-items:baseline;flex-wrap:wrap;gap:.85rem 1.75rem;min-width:0}.chinese-category-nav{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem 1.35rem}body:not([data-library-hall=chinese]) .chinese-category-nav,.chinese-category-nav[hidden]{display:none!important}.shelf-head-left .shelf-label-btn{font-size:.875rem;letter-spacing:.18em;text-indent:.18em}.chinese-category-btn{margin:0;padding:0 .15rem;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:.875rem;letter-spacing:.08em;color:var(--text-light);line-height:1.4;transition:color .2s}.chinese-category-btn[data-chinese-category=xiaoshuo]{letter-spacing:.06em;text-indent:0}.chinese-category-btn:hover,.chinese-category-btn:focus-visible,.chinese-category-btn.selected{color:var(--text);outline:none}.shelf-head .shelf-more-btn{font-size:.875rem;letter-spacing:.06em;text-indent:0}.shelf-label,.shelf-more-btn{font-size:.6875rem;letter-spacing:.25em;color:var(--text-light);line-height:1.4}.shelf-label{margin:0}.shelf-label-btn{padding:0;border:none;background:transparent;cursor:pointer;transition:color .2s}.shelf-label-btn:hover,.shelf-label-btn:focus-visible{color:var(--text);outline:none}.shelf-import-epub-btn{flex-shrink:0;margin:0 0 0 .65rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:2px;background:var(--surface);font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.12em;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.shelf-import-epub-btn:hover,.shelf-import-epub-btn:focus-visible{color:var(--text);border-color:var(--text-light);outline:none}.shelf-import-epub-status{margin-left:.5rem;font-size:.625rem;color:var(--text-light);letter-spacing:.04em}.shelf-import-epub-status.error{color:var(--danger, #b54)}.shelf-more-btn{flex-shrink:0;margin:0;padding:0;border:none;background:transparent;cursor:pointer;transition:color .2s}.shelf-more-btn:hover,.shelf-more-btn:focus-visible{color:var(--text);outline:none}.bookshelf-wrap{display:flex;align-items:stretch;gap:0;position:relative;width:100%;--shelf-delete-w: 168px;--shelf-delete-gap: 1.75rem;--shelf-delete-extend-y: 3rem}.bookshelf-region{flex:1 1 auto;min-width:0}.shelf-delete-zone{flex:0 0 0;width:0;opacity:0;overflow:hidden;pointer-events:none;border:2px dashed transparent;border-radius:10px;align-self:stretch;transition:flex-basis .38s cubic-bezier(.22,1,.36,1),width .38s cubic-bezier(.22,1,.36,1),opacity .32s ease,border-color .25s ease,background .25s ease,margin .38s cubic-bezier(.22,1,.36,1)}body.shelf-drag-active .shelf-delete-zone{flex:0 0 var(--shelf-delete-w);width:var(--shelf-delete-w);opacity:1;pointer-events:auto;margin-top:calc(var(--shelf-delete-extend-y) * -.4);margin-bottom:calc(var(--shelf-delete-extend-y) * -.6);min-height:calc(100% + var(--shelf-delete-extend-y));border-color:#8eb4c959;background:#8eb4c90a}body.shelf-drag-active .shelf-delete-zone--left{margin-right:var(--shelf-delete-gap)}body.shelf-drag-active .shelf-delete-zone--right{margin-left:var(--shelf-delete-gap)}.shelf-delete-zone--hot{border-color:#c46c6c8c!important;background:#c46c6c14!important}.shelf-delete-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;height:100%;min-height:100%;padding:1.5rem .75rem;color:var(--text-light)}.shelf-delete-icon{width:2.5rem;height:2.5rem;opacity:.28;transition:opacity .25s ease,transform .25s ease}body.shelf-drag-active .shelf-delete-icon{opacity:.42}.shelf-delete-zone--hot .shelf-delete-icon{opacity:.72;transform:scale(1.08);color:#c46c6cd9}.shelf-delete-label{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:mixed;opacity:.55;transition:opacity .25s ease}.shelf-delete-zone--hot .shelf-delete-label{opacity:.9;color:#c46c6ce6}.bookshelf{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:3rem 3.5rem;justify-content:flex-start}.bookshelf-status{width:100%;margin:0;padding:1rem 0;color:var(--muted, #6b6560);font-size:.95rem;line-height:1.6}.bookshelf-status--error{color:#a85858}.bookshelf-retry{margin-top:.75rem;padding:.45rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:transparent;color:inherit;cursor:pointer;font:inherit}.bookshelf-retry:hover{background:#0000000a}.book-item--imported{cursor:grab}.book-item--imported:active{cursor:grabbing}.book-item--dragging{opacity:.42;transform:scale(.96)}.book-item--dragging:hover{transform:scale(.96)}.book-item{border:none;background:transparent;cursor:pointer;padding:0;text-align:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}.book-item:hover{transform:translateY(-6px)}.book-physical--flat{position:relative;width:148px;height:220px;margin-bottom:1.25rem;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.book-item:hover .book-physical--flat{box-shadow:0 10px 28px #3d3a361a,0 2px 8px #3d3a360f}.book-physical--flat .book-cover{position:relative;width:100%;height:100%;background:var(--cover-paper, var(--bg-panel));border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;box-shadow:0 1px #ffffff73 inset}[data-theme=dark] .book-physical--flat .book-cover{box-shadow:none}.book-item--imported .book-physical--flat .book-cover{border-style:dashed;background:var(--cover-paper, var(--bg))}.cover-lang-band{display:block;height:6px;width:100%;flex-shrink:0;background:var(--cover-stripe, var(--accent))}.cover-lang-code{display:block;font-size:.5625rem;letter-spacing:.22em;text-indent:.22em;color:var(--text-light);text-align:center;padding:.85rem .85rem .4rem}.book-physical--flat .cover-title-original{font-family:var(--font-latin);font-size:.9375rem;font-weight:500;letter-spacing:.04em;color:var(--text-muted);text-align:center;line-height:1.4;padding:0 1rem 1.15rem;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.book-physical--flat[data-lang=en]{--cover-stripe: #8eb4c9;--cover-paper: #faf8f3}.book-physical--flat[data-lang=zh]{--cover-stripe: #c9a88e;--cover-paper: #faf7f2}.book-physical--flat[data-lang=fr]{--cover-stripe: #9a8eb4;--cover-paper: #f8f6fa}.book-physical--flat[data-lang=es]{--cover-stripe: #c9b08e;--cover-paper: #faf8f4}.book-physical--flat[data-lang=de]{--cover-stripe: #8e9a9c;--cover-paper: #f6f7f7}.book-physical--flat[data-lang=ru]{--cover-stripe: #9eb4a8;--cover-paper: #f6f8f7}.book-physical--flat[data-lang=ja]{--cover-stripe: #7a8eb4;--cover-paper: #f6f7fa}.book-physical--flat[data-lang=ko]{--cover-stripe: #b49a9a;--cover-paper: #faf7f7}[data-theme=dark] .book-physical--flat[data-lang=en]{--cover-stripe: #6a9ab4;--cover-paper: #2a2d30}[data-theme=dark] .book-physical--flat[data-lang=zh]{--cover-stripe: #a8886e;--cover-paper: #2c2a28}[data-theme=dark] .book-physical--flat[data-lang=fr]{--cover-stripe: #7a6e94;--cover-paper: #2a282c}[data-theme=dark] .book-physical--flat[data-lang=es]{--cover-stripe: #a8906e;--cover-paper: #2c2a28}[data-theme=dark] .book-physical--flat[data-lang=de]{--cover-stripe: #6e7a7c;--cover-paper: #282a2a}[data-theme=dark] .book-physical--flat[data-lang=ru]{--cover-stripe: #7a9488;--cover-paper: #282c2a}[data-theme=dark] .book-physical--flat[data-lang=ja]{--cover-stripe: #5a6e94;--cover-paper: #282a30}[data-theme=dark] .book-physical--flat[data-lang=ko]{--cover-stripe: #947a7a;--cover-paper: #2c2828}.book-physical--classic{position:relative;width:148px;height:220px;margin-bottom:1.25rem;transform-style:preserve-3d;transform:perspective(900px) rotateY(-6deg);transition:box-shadow .35s ease,transform .35s ease;box-shadow:4px 8px 20px #3d3a361a,1px 2px 6px #3d3a360d}.book-item:hover .book-physical--classic{transform:perspective(900px) rotateY(-3deg);box-shadow:6px 12px 28px #3d3a361f,2px 4px 8px #3d3a360f}.book-physical--classic .book-spine{position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,#6b5344,#8b6914,#a08050);border-radius:2px 0 0 2px;transform:translate(-5px)}.book-physical--classic .book-pages{position:absolute;right:-3px;top:6px;bottom:6px;width:7px;background:repeating-linear-gradient(180deg,#f8f4ea,#f8f4ea 2px,#e8e2d4 2px,#e8e2d4 3px);border-radius:0 1px 1px 0}.book-physical--classic .book-cover{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#d4bc8a,#b8986a 40%,#8f7048);border:1px solid rgba(61,48,32,.22);border-radius:0 3px 3px 0;display:flex;align-items:center;justify-content:center;padding:1.1rem .9rem;overflow:hidden}[data-theme=dark] .book-physical--classic .book-cover{background:linear-gradient(145deg,#5a4e3a,#4a4030,#3a3428);border-color:#e8e4dc1f}[data-theme=dark] .book-physical--classic .book-spine{background:linear-gradient(90deg,#4a4038,#5a5040)}.book-physical--classic .cover-title-original{font-family:var(--font-latin);font-size:.875rem;font-weight:600;letter-spacing:.06em;color:#fffaf0f2;text-align:center;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;text-shadow:0 1px 2px rgba(0,0,0,.2)}.book-item--imported .book-physical--classic .book-cover{background:linear-gradient(145deg,#e8e2d4,#d8d0c0)}[data-theme=dark] .book-item--imported .book-physical--classic .book-cover{background:linear-gradient(145deg,#3a3834,#2e2c28)}.search-result-cover.book-physical--classic{transform:perspective(900px) rotateY(-6deg)}.search-result-cover.book-physical--classic .book-spine{width:5px;transform:translate(-2px)}.search-result-cover.book-physical--classic .book-pages{width:4px;right:-2px}.search-result-cover.book-physical--classic .cover-title-original{font-size:.4375rem;-webkit-line-clamp:4}.book-meta-card{max-width:148px}.book-meta-card .title{font-family:var(--font-latin);font-size:1rem;font-weight:500;color:var(--text);margin-bottom:.35rem}.book-meta-card .author-en{font-family:var(--font-latin);font-size:.6875rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em;line-height:1.45}.book-meta-card .author-zh{font-family:var(--font-cjk);font-size:.6875rem;color:var(--text-light);letter-spacing:.05em;line-height:1.45;margin-top:.15rem}.reading-area{padding:4.5rem 2.25rem 6.5rem;transition:margin-right var(--transition),margin-left var(--transition)}body[data-view=reading].panel-open .reading-area{margin-right:var(--panel-w)}body[data-view=reading].panel-open.panel-dock-left .reading-area{margin-right:0;margin-left:var(--panel-w)}.book-meta{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border);transition:opacity var(--transition)}.book-title{font-family:Cormorant Garamond,serif;font-size:.875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.book-author{font-size:.8125rem;color:var(--text-light);letter-spacing:.05em}.reading-book-author-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.reading-revision-btn{flex-shrink:0;padding:.15rem .55rem;font-size:.7rem;letter-spacing:.08em;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.reading-revision-btn:hover{color:var(--text);border-color:var(--text-light);background:var(--bg-subtle, rgba(0, 0, 0, .03))}.reading-book-contributor{margin:.35rem 0 0;font-size:.75rem;color:var(--text-muted);letter-spacing:.04em}.chapter-label{font-size:.75rem;letter-spacing:.25em;color:var(--text-light);margin-bottom:2.75rem;text-transform:uppercase;transition:opacity var(--transition)}.community-translation-root .lang-menu{min-width:10.5rem;max-width:18rem}#communityTranslationCluster .toolbar-unified-group>.community-translation-upload-btn{gap:.25rem;padding:0 .65rem;border-left:1px solid var(--border)}#communityTranslationCluster .toolbar-unified-group>.community-translation-upload-btn[hidden]{display:none}#communityTranslationCluster .toolbar-unified-group>.community-translation-upload-btn svg{width:14px;height:14px;flex-shrink:0}.community-translation-menu-list{list-style:none;margin:0;padding:0}.community-translation-menu-list li{margin:0}.community-translation-pick{width:100%;text-align:left;max-width:none;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem}.community-translation-pick__id{font-size:.6875rem;letter-spacing:.02em;color:var(--text)}.community-translation-pick__name{font-size:.625rem;color:var(--text-light)}.community-translation-pick--active,.community-translation-pick.selected{color:var(--accent);background:var(--accent-soft)}.community-translation-menu__title{margin:0;padding:.45rem .65rem .35rem;font-size:.625rem;letter-spacing:.12em;color:var(--text-light);border-bottom:1px solid var(--border)}.community-translation-menu__empty{margin:0;padding:.45rem .65rem .35rem;font-size:.625rem;letter-spacing:.04em;color:var(--text-light)}.community-translation-menu__footer{padding:.35rem .5rem .45rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.35rem}.community-translation-save-btn,.community-translation-cancel-btn{width:100%;justify-content:center}.community-translation-cancel-btn{color:var(--text-light)}.community-translation-cancel-btn:hover:not(:disabled){color:var(--text-muted)}.bilingual-flow{width:100%}.paragraph-row.bilingual-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:var(--col-gap);width:100%;margin-bottom:var(--para-gap);transition:grid-template-columns var(--layout-transition),gap var(--layout-transition)}.bilingual-col{min-width:0;margin:0;padding:0}.translated-text--pending{color:var(--text-light);font-style:italic;letter-spacing:.08em}.paragraph-row:last-child{margin-bottom:0}.box-left,.box-right{min-width:0;margin:0;padding:0;transition:opacity var(--layout-transition)}.paragraph-en,.paragraph-zh{margin-top:0;padding-top:0;transition:opacity .4s ease}.paragraph{min-width:0;margin:0;padding:0}.col-text{margin:0;padding:0}.bilingual-flow>.paragraph-row:first-child .box-left,.bilingual-flow>.paragraph-row:first-child .box-right,.bilingual-flow>.paragraph-row:first-child .paragraph,.bilingual-flow>.paragraph-row:first-child .col-text{margin-top:0;padding-top:0}.paragraph-en{font-family:var(--font-latin);font-size:var(--read-font-size);line-height:1.8;letter-spacing:.015em;color:var(--text);text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;transition:max-width var(--layout-transition),opacity var(--transition)}.paragraph-zh{font-family:var(--font-cjk);font-size:calc(var(--read-font-size) * .8889);line-height:1.8;letter-spacing:.04em;font-weight:300;color:var(--text-muted);text-align:justify;overflow-wrap:break-word;min-width:0;opacity:1;visibility:visible;transition:opacity var(--layout-transition),visibility var(--layout-transition)}.col-target-side{position:relative}.col-target-side .col-text,.col-target-side .sentence-zh,.col-target-side .inline-illustration{transition:opacity .3s ease,transform .3s ease,visibility .3s}.col-target-side .inline-illustration:not(.show-img){display:none;height:0;margin:0;padding:0;font-size:0;line-height:0;overflow:hidden;border:0;visibility:hidden;pointer-events:none;transform:none}.col-target-side.image-open .inline-illustration{display:block}.col-target-side.image-open .inline-illustration:not(.show-img){height:0;min-height:0;margin:0;padding:0;opacity:0;visibility:hidden;overflow:hidden}.col-target-side .inline-illustration.show-img{display:block;width:fit-content;max-width:100%;height:auto;margin:0 auto;padding:0;font-size:inherit;line-height:normal;opacity:1;visibility:visible;transform:translateY(0);overflow:visible;pointer-events:auto}.col-target-side.image-open .col-text{opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;position:absolute;width:100%;top:0;left:0;margin:0;padding:0}.image-trigger{border:none;border-bottom:none;cursor:inherit;padding:0;background:none;transform:none;color:inherit;pointer-events:none}.box-left .image-trigger{border-bottom:2px dashed #b8860b;cursor:pointer;padding-bottom:1px;border-radius:2px;pointer-events:auto;transition:background .25s ease,transform .2s ease,border-color .25s ease}.box-left .image-trigger:hover{background:#f0ebd88c;border-bottom-color:#c9971a;transform:scale(1.04)}.box-left .image-trigger.active{background:#f0ebd8a6;border-bottom-color:#c9971a}.box-right .image-trigger:hover,.box-right .image-trigger.active{background:none;border-bottom:none;transform:none}.inline-illustration img{width:auto;height:auto;max-width:100%;display:block;margin:0 auto;border-radius:6px;box-shadow:0 4px 12px #00000014}body.blind-reading-mode .paragraph-row.bilingual-row{grid-template-columns:1fr}body.blind-reading-mode .box-right{display:none}body.blind-reading-mode .box-left,body.blind-reading-mode .bilingual-flow{max-width:100%}.blind-image-stage{width:100%;margin-bottom:var(--para-gap);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease,visibility .3s}.blind-image-stage.show-stage{opacity:1;visibility:visible;transform:translateY(0)}.blind-image-stage .inline-illustration{display:block;width:fit-content;max-width:100%;height:auto;margin:0 auto;padding:0;opacity:1;visibility:visible;transform:translateY(0);overflow:visible}.paragraph-row.blind-covered{max-height:0;opacity:0;overflow:hidden;margin-bottom:0!important;pointer-events:none;visibility:hidden;transition:max-height .35s ease,opacity .3s ease,margin .3s ease,visibility .3s}.sentence{cursor:pointer;display:inline;border-radius:3px;padding:.08em .18em;margin:0 -.06em;vertical-align:baseline;transition:background .35s ease,opacity .45s ease}.sentence.active{background:var(--highlight-bg)}.reading-area .col-text,.reading-area .sentence,.reading-area .source-text,.reading-area .translated-text{user-select:text;-webkit-user-select:text}.paragraph-interactive{cursor:text;transition:background .35s ease,opacity .45s ease}.source-text--epub-html h1,.source-text--epub-html h2,.source-text--epub-html h3,.source-text--epub-html h4{font-weight:600;margin:0}.source-text--epub-html p,.source-text--epub-html li,.source-text--epub-html blockquote{margin:0}.source-text--epub-html blockquote{padding-left:.75rem;border-left:2px solid var(--border)}.selection-lookup-popover{position:fixed;z-index:1200;display:flex;padding:.2rem;border-radius:4px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 6px 20px var(--shadow);pointer-events:auto;font-family:"Noto Serif SC",serif;animation:selection-lookup-in .25s ease}@keyframes selection-lookup-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.selection-lookup-popover[hidden]{display:none!important;pointer-events:none;visibility:hidden;animation:none}.selection-lookup-actions{display:flex;align-items:stretch;gap:0}.selection-lookup-btn{margin:0;padding:.42rem .9rem;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.6875rem;font-weight:400;letter-spacing:.2em;line-height:1.4;cursor:pointer;white-space:nowrap;transition:color .25s,border-color .25s,background .25s}.selection-lookup-actions .selection-lookup-btn:first-child{border-radius:3px 0 0 3px}.selection-lookup-actions .selection-lookup-btn:only-child{border-radius:3px;border-left:none}.selection-lookup-btn+.selection-lookup-btn{border-left:1px solid var(--border);border-radius:0 3px 3px 0}.selection-lookup-btn:hover,.selection-lookup-btn:focus-visible{color:var(--text);border-color:#3d3a362e;background:#3d3a360a;outline:none}.selection-lookup-btn--primary{background:var(--accent-soft);border-color:var(--border);color:var(--text-muted)}.selection-lookup-btn--primary:hover,.selection-lookup-btn--primary:focus-visible{color:var(--text);border-color:#3d3a3638;background:var(--accent-soft)}[data-theme=dark] .selection-lookup-btn:hover,[data-theme=dark] .selection-lookup-btn:focus-visible{background:#e8e4dc0f;border-color:#e8e4dc24}.selection-lookup-tool{position:relative;display:flex}.selection-lookup-submenu{position:absolute;left:50%;bottom:100%;transform:translate(-50%);display:none;padding-bottom:.45rem;background:transparent;border:none;box-shadow:none;white-space:nowrap;z-index:2;pointer-events:auto}.selection-lookup-submenu__panel{display:flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:4px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 6px 18px var(--shadow)}.selection-lookup-tool.is-open .selection-lookup-submenu,.selection-lookup-tool:hover .selection-lookup-submenu,.selection-lookup-tool:focus-within .selection-lookup-submenu{display:block}.selection-lookup-submenu--colors .selection-lookup-submenu__panel{gap:.3rem}.selection-lookup-submenu__btn{margin:0;padding:.28rem .55rem;border:1px solid var(--border);border-radius:3px;background:var(--bg-soft, rgba(0, 0, 0, .03));color:var(--text);font:inherit;font-size:.68rem;cursor:pointer}.selection-lookup-submenu__btn--swatch{width:1.15rem;height:1.15rem;padding:0;border-radius:999px}.selection-lookup-submenu__btn--active{outline:2px solid var(--accent, #8b6914);outline-offset:1px}.selection-lookup-submenu__btn:hover,.selection-lookup-submenu__btn:focus-visible{border-color:var(--accent, #8b6914);outline:none}.reader-mark{cursor:text}.reader-mark--underline-solid{text-decoration-line:underline;text-decoration-style:solid;text-underline-offset:.16em;text-decoration-thickness:1px}.reader-mark--underline-dashed{text-decoration-line:underline;text-decoration-style:dashed;text-underline-offset:.16em;text-decoration-thickness:1px}.reader-mark--highlight{border-radius:.12em;padding:.04em 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}.lookup-lemma-row{display:flex;align-items:center;gap:.45rem;margin:0 0 .35rem}.lookup-lemma{font-weight:600;margin:0}.lookup-pronounce-btn{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text-muted);font-size:.8rem;line-height:1;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.lookup-pronounce-btn:hover,.lookup-pronounce-btn:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, rgba(90, 140, 110, .08));outline:none}.lookup-pronounce-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, rgba(90, 140, 110, .12))}.lookup-pronounce-icon{pointer-events:none;font-style:normal}.lookup-reading{color:var(--text-muted, #5a6570);font-size:.9em;margin:0 0 .5rem}.paragraph-en.paragraph-interactive.active{background:var(--highlight-bg);border-radius:4px}body.immersed .sentence:not(.active){opacity:var(--fade-dim)}body.immersed .paragraph-row:not(.active-para) .paragraph-en.paragraph-interactive,body.immersed .paragraph-row:not(.active-para) .col-text.paragraph-interactive,body.immersed .paragraph-row:not(.active-para) .sentence{opacity:var(--fade-dim)}body.immersed .paragraph-row.active-para .paragraph-en,body.immersed .paragraph-row.active-para .col-text,body.immersed .paragraph-row.active-para .sentence.active{opacity:1}body.immersed .paragraph-en.paragraph-interactive.active{opacity:1;background:var(--highlight-bg)}body.immersed .book-meta,body.immersed .chapter-label,body.immersed .chapter-nav,body.immersed .hint{opacity:var(--fade-dim)}body.immersed .sentence.active{opacity:1;background:var(--highlight-bg)}body.blind-reading-mode.immersed .box-left .sentence:not(.active){opacity:var(--fade-dim)}body.blind-reading-mode.immersed .paragraph-row:not(.active-para) .box-left .paragraph-interactive{opacity:var(--fade-dim)}body.blind-reading-mode.immersed .box-left .sentence.active,body.blind-reading-mode.immersed .paragraph-row.active-para .box-left .paragraph-interactive{opacity:1}.chapter-nav{display:flex;align-items:center;gap:.75rem 1rem;width:100%;margin-top:2.5rem;padding-top:2.25rem;border-top:1px solid var(--border);transition:opacity var(--transition)}.chapter-nav__chapters{flex:0 0 auto}.chapter-nav__pages{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.chapter-nav__pages[hidden]{display:none!important}.chapter-nav__pages .nav-group{align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.chapter-nav__toc{flex:0 0 auto;margin-left:auto}.page-label{font-size:.8125rem;letter-spacing:.08em;color:var(--text-muted);min-width:5.5rem;text-align:center}.nav-group{display:flex;gap:.625rem}.nav-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;letter-spacing:.1em;padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .25s,border-color .25s,background .25s}.nav-btn:hover:not(:disabled){color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.hint{margin-top:2rem;font-size:.75rem;color:var(--text-light);letter-spacing:.08em;opacity:.65;transition:opacity var(--transition)}.status-msg{font-size:.875rem;color:var(--text-muted);line-height:1.8;padding:2rem 0}.status-msg.error{color:#b07070}[data-theme=dark] .status-msg.error{color:#c99090}.toc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:80;transition:background var(--transition)}.toc-overlay.visible{background:#3d3a3626;pointer-events:auto}[data-theme=dark] .toc-overlay.visible{background:#0006}.toc-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(360px,90vw);max-height:70vh;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:90;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);overflow:hidden;display:flex;flex-direction:column}.toc-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.toc-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);font-size:.8125rem;letter-spacing:.15em}.toc-list{list-style:none;overflow-y:auto;padding:.75rem 0}.toc-item button{width:100%;text-align:left;padding:.75rem 1.5rem;border:none;background:transparent;font-family:"Noto Serif SC",serif;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.toc-item button:hover,.toc-item button.current{background:var(--accent-soft);color:var(--text)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:110;transition:background var(--transition)}.confirm-overlay.visible{background:#3d3a362e;pointer-events:auto}[data-theme=dark] .confirm-overlay.visible{background:#00000073}.imported-book-menu{position:fixed;z-index:115;min-width:9.5rem;padding:.3rem 0;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 10px 28px var(--shadow)}.imported-book-menu__item{display:block;width:100%;border:none;background:none;text-align:left;padding:.5rem .875rem;font-family:"Noto Serif SC",serif;font-size:.8125rem;color:var(--text);cursor:pointer}.imported-book-menu__item:hover,.imported-book-menu__item:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.imported-meta-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:119;transition:background var(--transition)}.imported-meta-overlay.visible{background:#3d3a3647;pointer-events:auto}[data-theme=dark] .imported-meta-overlay.visible{background:#00000073}.imported-meta-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(400px,92vw);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:120;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.5rem;transition:opacity var(--transition),transform var(--transition)}.imported-meta-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.imported-meta-label{font-size:.6875rem;letter-spacing:.2em;color:var(--text-light);margin:0 0 .5rem}.imported-meta-heading{font-family:Cormorant Garamond,"Noto Serif SC",serif;font-size:1.375rem;font-weight:500;margin:0 0 .5rem;color:var(--text)}.imported-meta-desc{margin:0 0 1.25rem;font-size:.8125rem;line-height:1.6;color:var(--text-muted)}.imported-meta-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}@media(max-width:520px){.imported-meta-form{grid-template-columns:1fr}}.imported-meta-field{display:flex;flex-direction:column;gap:.35rem}.imported-meta-field-label{font-size:.75rem;color:var(--text-muted);letter-spacing:.06em}.imported-meta-input{width:100%;box-sizing:border-box;padding:.55rem .65rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:"Noto Serif SC",serif;font-size:.875rem}.imported-meta-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.imported-meta-actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:.35rem}.imported-structure-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:118;opacity:0;pointer-events:none;transition:opacity var(--transition)}.imported-structure-overlay.visible{opacity:1;pointer-events:auto}[data-theme=dark] .imported-structure-overlay.visible{background:#0000008c}.imported-structure-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.98);width:min(920px,94vw);max-height:min(88vh,760px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 64px var(--shadow);z-index:119;opacity:0;pointer-events:none;padding:1.25rem 1.35rem 1.1rem;transition:opacity var(--transition),transform var(--transition)}.imported-structure-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.imported-structure-label{margin:0 0 .2rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.imported-structure-heading{margin:0;font-size:1.15rem;font-weight:600;color:var(--text)}.imported-structure-desc{margin:.35rem 0 0;font-size:.82rem;color:var(--text-muted);line-height:1.45;max-width:36rem}.imported-structure-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.imported-structure-summary{margin:0;font-size:.82rem;color:var(--text-muted);white-space:nowrap;padding-top:1.5rem}.imported-structure-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:.85rem;min-height:0;flex:1;overflow:hidden}.imported-structure-sidebar,.imported-structure-main{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:.65rem}.imported-structure-sidebar-label{margin:0 0 .45rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.imported-structure-chapter-list,.imported-structure-para-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:120px;max-height:320px}.imported-structure-chapter,.imported-structure-para{display:flex;align-items:flex-start;gap:.45rem;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:.45rem .5rem;border-radius:6px;cursor:pointer;font:inherit;font-size:.84rem}.imported-structure-chapter:hover,.imported-structure-para:hover,.imported-structure-chapter--active,.imported-structure-para--active{background:var(--accent-soft)}.imported-structure-chapter__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imported-structure-chapter__count{font-size:.72rem;color:var(--text-muted);flex-shrink:0}.imported-structure-para__idx{flex-shrink:0;width:1.4rem;color:var(--text-muted);font-size:.75rem;text-align:right}.imported-structure-para__text{flex:1;min-width:0;line-height:1.35;color:var(--text)}.imported-structure-chapter-tools,.imported-structure-para-tools{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.imported-structure-tool-btn,.imported-structure-action-btn{border:1px solid var(--border);background:var(--bg-panel);color:var(--text);border-radius:6px;padding:.3rem .55rem;font-size:.78rem;cursor:pointer}.imported-structure-tool-btn:hover:not(:disabled),.imported-structure-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.imported-structure-tool-btn:disabled,.imported-structure-action-btn:disabled{opacity:.45;cursor:not-allowed}.imported-structure-tool-btn--danger:hover:not(:disabled){border-color:#c45c5c;color:#c45c5c}.imported-structure-meta-fields{display:flex;flex-direction:column;gap:.45rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--border)}.imported-structure-field{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--text-muted)}.imported-structure-field input{border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem;font:inherit;font-size:.82rem;background:var(--bg-panel);color:var(--text)}.imported-structure-main-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.imported-structure-para-hint{margin:.15rem 0 0;font-size:.75rem;color:var(--text-muted)}.imported-structure-chapter-text{flex:1;min-height:280px;max-height:420px;width:100%;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font:inherit;font-size:.88rem;line-height:1.55;color:var(--text);background:var(--bg-panel);-moz-tab-size:2;tab-size:2}.imported-structure-chapter-text:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.imported-structure-empty{padding:.75rem .5rem;font-size:.82rem;color:var(--text-muted)}.imported-structure-status{margin:.65rem 0 0;font-size:.8rem;color:var(--text-muted)}.imported-structure-status--error{color:var(--danger, #c0392b)}.imported-structure-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.625rem;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border)}.book-revision-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:130;opacity:0;pointer-events:none;transition:opacity var(--transition)}.book-revision-overlay.visible{opacity:1;pointer-events:auto}.book-revision-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(720px,92vw);max-height:min(80vh,640px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 60px var(--shadow);z-index:131;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.book-revision-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.book-revision-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.book-revision-dialog__title{margin:0;font-size:.95rem;font-weight:600}.book-revision-dialog__close{border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-muted)}.book-revision-dialog__body{overflow:auto;padding:.85rem 1rem 1rem}.book-revision-dialog__placeholder{margin:0;font-size:.85rem;color:var(--text-muted)}.book-revision-dialog__placeholder--error{color:var(--danger, #c0392b)}.community-contributions-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:132;opacity:0;pointer-events:none;transition:opacity var(--transition)}.community-contributions-overlay.visible{opacity:1;pointer-events:auto}.community-contributions-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(640px,92vw);max-height:min(78vh,620px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 60px var(--shadow);z-index:133;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.community-contributions-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.community-contributions-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem 1rem .65rem;border-bottom:1px solid var(--border)}.community-contributions-dialog__head-main{flex-shrink:0}.community-contributions-dialog__thanks{flex:1;margin:.35rem 0 0;padding:0 .5rem;font-size:.68rem;line-height:1.45;letter-spacing:.02em;color:var(--text-muted);text-align:right}.community-contributions-dialog__label{margin:0 0 .15rem;font-size:.68rem;letter-spacing:.08em;color:var(--text-muted)}.community-contributions-dialog__title{margin:0;font-size:.95rem;font-weight:600}.community-contributions-dialog__close{border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-muted)}.community-contributions-tabs{display:flex;gap:.35rem;padding:.55rem 1rem 0}.community-contributions-tab{font-family:"Noto Serif SC",serif;font-size:.72rem;letter-spacing:.06em;padding:.35rem .75rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.community-contributions-tab--active{color:var(--text);border-color:var(--accent, var(--border));background:color-mix(in srgb,var(--accent, #8b7355) 12%,transparent)}.community-contributions-dialog__body{flex:1;min-height:0;overflow:auto;padding:.75rem 1rem 1rem}.community-contributions-panel[hidden]{display:none}.community-contributions-placeholder{margin:1rem 0;font-size:.82rem;color:var(--text-muted);text-align:center}.community-contributions-placeholder--error{color:var(--danger, #c0392b)}.community-contributions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.community-contributions-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 40%,var(--bg-panel))}.community-contributions-item__main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.community-contributions-item__kind{font-size:.65rem;letter-spacing:.06em;color:var(--text-muted)}.community-contributions-item__title{font-size:.84rem;font-weight:500;line-height:1.35}.community-contributions-item__meta{font-size:.72rem;color:var(--text-muted)}.community-contributions-item__note{margin:.15rem 0 0;font-size:.72rem;color:var(--text-muted);line-height:1.4}.community-contributions-item__reject{margin:.35rem 0 0;padding-top:.35rem;font-size:.72rem;color:var(--danger, #c0392b);line-height:1.45;border-top:1px dashed color-mix(in srgb,var(--danger, #c0392b) 35%,var(--border))}.community-contributions-item--rejected .community-contributions-item__main{width:100%}.community-contributions-item--rejected{flex-direction:column;align-items:stretch}.community-contributions-item--rejected .community-contributions-item__time{align-self:flex-end;margin-top:.15rem}.community-contributions-item__time{flex-shrink:0;font-size:.68rem;color:var(--text-muted);white-space:nowrap}.community-contributions-btn,.feedback-btn{flex-shrink:0}.ui-locale-wrap{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.ui-locale-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-locale-select{height:1.85rem;min-width:4.1rem;padding:0 1.6rem 0 .45rem;font-family:inherit;font-size:.72rem;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23666' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center;background-size:.55rem}.ui-locale-select:hover,.ui-locale-select:focus-visible{border-color:var(--accent);outline:none}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:134;opacity:0;pointer-events:none;transition:opacity var(--transition)}.feedback-overlay.visible{opacity:1;pointer-events:auto}.feedback-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(520px,92vw);max-height:min(82vh,640px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 60px var(--shadow);z-index:135;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);padding:.85rem 1rem 1rem}.feedback-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.feedback-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.feedback-dialog__label{margin:0 0 .15rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.08em}.feedback-dialog__title{margin:0;font-size:.95rem;font-weight:600}.feedback-dialog__close{border:none;background:transparent;font-size:1.25rem;cursor:pointer;color:var(--text-muted)}.feedback-tabs{display:flex;gap:.35rem;margin-bottom:.55rem}.feedback-tab{padding:.35rem .75rem;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.72rem;color:var(--text-muted);cursor:pointer}.feedback-tab--active{border-color:var(--accent);color:var(--text)}.feedback-quota-hint{margin:0 0 .55rem;font-size:.72rem;color:var(--text-muted)}.feedback-content-input{width:100%;min-height:160px;resize:vertical;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.82rem;line-height:1.55;box-sizing:border-box}.feedback-dialog__actions{margin-top:.65rem}.feedback-submit-btn{font-family:"Noto Serif SC",serif;font-size:.75rem;letter-spacing:.06em;padding:.45rem 1rem;border:1px solid var(--border);border-radius:999px;background:transparent;cursor:pointer}.feedback-status{margin:.55rem 0 0;font-size:.75rem}.feedback-status--error{color:var(--danger, #c0392b)}.feedback-status--ok{color:#2d8a4e}.admin-feedback-content{margin:.75rem 0 1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.82rem;line-height:1.55;white-space:pre-wrap}@media(max-width:520px){.community-contributions-dialog__head{flex-wrap:wrap}.community-contributions-dialog__thanks{order:3;flex-basis:100%;text-align:left;padding:0;margin-top:.15rem}}.book-revision-layout{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:1rem}.book-revision-sidebar__label{margin:0 0 .5rem;font-size:.72rem;color:var(--text-muted);letter-spacing:.06em}.book-revision-revisor-list{display:flex;flex-direction:column;gap:.35rem}.book-revision-revisor{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.45rem .55rem;text-align:left;font:inherit;font-size:.72rem;color:var(--text);background:var(--bg-subtle, rgba(0, 0, 0, .03));border:1px solid var(--border);border-radius:6px;cursor:pointer}.book-revision-revisor--active{border-color:var(--accent, #8b6914);background:#8b691414}.book-revision-revisor__id{font-family:ui-monospace,monospace;word-break:break-all}.book-revision-revisor__handle,.book-revision-revisor__count{color:var(--text-muted);font-size:.68rem}.book-revision-main{min-width:0;max-height:min(60vh,560px);overflow:auto;padding-right:.15rem}.book-revision-main__who{margin:0 0 .75rem;font-size:.78rem;color:var(--text-muted);word-break:break-all}.book-revision-entry{padding:.45rem 0;border-top:1px solid var(--border)}.book-revision-entry:first-of-type{border-top:none;padding-top:0}.book-revision-entry__summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;cursor:pointer;list-style:none;font-size:.78rem;-webkit-user-select:none;user-select:none}.book-revision-entry__summary::-webkit-details-marker{display:none}.book-revision-entry__summary:before{content:"▸";flex:0 0 auto;margin-top:.05rem;color:var(--text-muted);transition:transform .15s ease}.book-revision-entry[open]>.book-revision-entry__summary:before{transform:rotate(90deg)}.book-revision-entry[open]>.book-revision-entry__summary{color:var(--text)}.book-revision-entry__summary-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.book-revision-entry__brief{font-size:.68rem;color:var(--text-muted);line-height:1.4}.book-revision-entry__body{padding:.45rem 0 0 .85rem}.book-revision-entry__head{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.78rem}.book-revision-entry__time{color:var(--text-muted)}.book-revision-change__summary,.revision-change__summary{margin:0 0 .35rem;font-size:.78rem}.revision-change__heading{margin:.85rem 0 .35rem;font-size:.76rem;font-weight:600;letter-spacing:.04em;color:var(--text-light)}.revision-change__list,.book-revision-change__list{margin:0;padding-left:1.1rem;font-size:.76rem;color:var(--text-light)}.revision-change__empty,.revision-change__stats,.revision-change__truncated,.revision-change__note{margin:.35rem 0 0;font-size:.74rem;color:var(--text-muted)}.revision-change-chapter{margin-top:.45rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-soft)}.revision-change-chapter__summary{cursor:pointer;padding:.45rem .55rem;font-size:.76rem;font-weight:600;list-style:none}.revision-change-chapter__summary::-webkit-details-marker{display:none}.revision-change-chapter__list{margin:0;padding:0 .55rem .55rem;list-style:none}.revision-change-item{padding:.45rem 0;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:.74rem}.revision-change-item:first-child{border-top:none}.revision-change-item__tag{display:inline-block;min-width:2.2rem;margin-right:.35rem;padding:.05rem .3rem;border-radius:3px;font-size:.66rem;letter-spacing:.04em;vertical-align:middle}.revision-change-item--added .revision-change-item__tag{background:color-mix(in srgb,#3d8b5a 18%,transparent);color:#3d8b5a}.revision-change-item--removed .revision-change-item__tag{background:color-mix(in srgb,#a85858 18%,transparent);color:#a85858}.revision-change-item--modified .revision-change-item__tag{background:color-mix(in srgb,#8a7340 18%,transparent);color:#8a7340}.revision-change-item__ref{color:var(--text-muted);font-size:.68rem}.revision-change-item__text,.revision-change-diff p{margin:.25rem 0 0;line-height:1.55;white-space:pre-wrap;word-break:break-word}.revision-change-diff__label{display:inline-block;min-width:2rem;margin-right:.35rem;font-size:.66rem;color:var(--text-muted)}.revision-change-diff__before{color:var(--text)}.revision-change-diff__after{color:color-mix(in srgb,#3d8b5a 75%,var(--text))}.revision-change-diff__removed{color:#c0392b;font-weight:600;background:color-mix(in srgb,#c0392b 14%,transparent);border-radius:2px}.admin-revision-changes .revision-change-item--removed .revision-change-item__text{color:var(--text)}.admin-revision-changes{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.admin-revision-changes__title{margin:0 0 .5rem;font-size:.8125rem;letter-spacing:.06em}.admin-revision-changes__body{max-height:min(52vh,520px);overflow:auto;padding:.65rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel)}.admin-book-item__title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-book-item__meta{display:block;flex:0 0 auto;font-size:.66rem;color:var(--text-muted);white-space:nowrap}#adminRevisionList .admin-book-item{flex-direction:column;align-items:flex-start;gap:.15rem}.book-revision-change__list{margin:0;padding-left:1.1rem;font-size:.76rem;color:var(--text-light)}.book-revision-entry__note,.book-revision-change__note{margin:.35rem 0 0;font-size:.74rem;color:var(--text-muted)}body.book-revision-open{overflow:hidden}@media(max-width:720px){.book-revision-layout{grid-template-columns:1fr}}@media(max-width:720px){.imported-structure-layout{grid-template-columns:1fr}.imported-structure-chapter-list,.imported-structure-para-list{max-height:200px}}.confirm-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(380px,88vw);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:120;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.5rem;transition:opacity var(--transition),transform var(--transition)}.confirm-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.confirm-label{font-size:.6875rem;letter-spacing:.2em;color:var(--text-light);margin-bottom:.875rem}.confirm-title{font-family:Cormorant Garamond,"Noto Serif SC",serif;font-size:1.375rem;font-weight:500;line-height:1.35;color:var(--text);margin-bottom:.75rem;word-break:break-word}.confirm-desc{font-size:.8125rem;font-weight:300;line-height:1.65;letter-spacing:.03em;color:var(--text-muted);margin-bottom:1.5rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.625rem}.confirm-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;letter-spacing:.1em;padding:.55rem 1.125rem;border-radius:4px;border:1px solid var(--border);background:transparent;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.confirm-btn--ghost{color:var(--text-muted)}.import-lang-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:115;transition:background var(--transition)}.import-lang-overlay.visible{background:#3d3a362e;pointer-events:auto}.import-lang-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(420px,88vw);max-height:min(88vh,720px);overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:120;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.25rem;transition:opacity var(--transition),transform var(--transition)}.import-lang-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.import-lang-label{font-size:.6875rem;letter-spacing:.2em;color:var(--text-light);margin-bottom:.875rem}.import-lang-title{font-family:"Noto Serif SC",serif;font-size:1.125rem;font-weight:500;line-height:1.45;color:var(--text);margin-bottom:.5rem}.import-lang-desc{font-size:.8125rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.6}.import-lang-meta-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}@media(max-width:520px){.import-lang-meta-fields{grid-template-columns:1fr}}.import-lang-field{display:grid;gap:.3rem}.import-lang-field-label{font-size:.72rem;letter-spacing:.06em;color:var(--text-light)}.import-lang-input{width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:.8125rem}.import-lang-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.import-lang-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.import-lang-option{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:4px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.8125rem;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.import-lang-option:hover{background:var(--accent-soft);color:var(--text);border-color:#3d3a362e}.import-lang-option--selected{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.import-lang-category{margin-bottom:1rem}.import-lang-desc--category{margin-top:.25rem;margin-bottom:.65rem}.import-lang-category-list{display:flex;flex-wrap:wrap;gap:.55rem .85rem}.import-lang-category-btn{margin:0;padding:.35rem .55rem;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.875rem;letter-spacing:.08em;color:var(--text-muted);line-height:1.4;transition:color .2s,border-color .2s,background .2s}.import-lang-category-btn[data-chinese-category=xiaoshuo]{letter-spacing:.06em}.import-lang-category-btn:hover,.import-lang-category-btn:focus-visible,.import-lang-category-btn.selected{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.import-lang-actions{display:flex;justify-content:flex-end;gap:.5rem}.import-lang-actions .confirm-btn[disabled]{opacity:.45;cursor:not-allowed}.ai-source-fixed{margin:0;padding:.35rem .85rem .55rem;font-size:.6875rem;letter-spacing:.05em;color:var(--text-muted)}.ai-translate-empty{margin:0;padding:.45rem .85rem;font-size:.6875rem;color:var(--text-light)}.confirm-btn--ghost:hover,.confirm-btn--ghost:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.confirm-btn--danger{color:#a86565;border-color:#a8656559;background:#a865650f}.confirm-btn--danger:hover,.confirm-btn--danger:focus-visible{color:#fff;border-color:#a86565;background:#a86565;outline:none}[data-theme=dark] .confirm-btn--danger{color:#e09898;border-color:#e0989859;background:#e0989814}[data-theme=dark] .confirm-btn--danger:hover,[data-theme=dark] .confirm-btn--danger:focus-visible{color:#1c1b19;background:#e09898;border-color:#e09898}.auth-btn,.auth-logout-btn{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.08em;padding:.45rem .75rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;white-space:nowrap;transition:color .25s,border-color .25s,background .25s}.auth-btn:hover,.auth-btn:focus-visible,.auth-logout-btn:hover,.auth-logout-btn:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.auth-user-wrap{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.4rem;max-width:min(360px,52vw);min-width:0}.auth-upgrade-cta{flex-shrink:0;font-family:"Noto Serif SC",serif;font-size:.625rem;font-weight:600;letter-spacing:.1em;line-height:1;padding:.28rem .42rem;border-radius:3px;border:1px solid color-mix(in srgb,var(--text-muted) 55%,transparent);color:var(--text);background:color-mix(in srgb,var(--text-muted) 8%,var(--bg));cursor:pointer;white-space:nowrap;transition:filter .15s ease,color var(--transition),background var(--transition)}.auth-upgrade-cta:hover,.auth-upgrade-cta:focus-visible{filter:brightness(1.08);color:var(--text);outline:none}.auth-user-tier-wrap{flex-shrink:0;display:inline-flex;align-items:center;border:none;background:transparent;padding:0;cursor:pointer}.auth-user-tier-wrap:hover .pavilion-title-badge,.auth-user-tier-wrap:focus-visible .pavilion-title-badge{filter:brightness(1.08);outline:none}.auth-user-tier-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pavilion-title-badge{display:inline-block;font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.1em;line-height:1;padding:.28rem .42rem;border-radius:3px;border:1px solid color-mix(in srgb,var(--text-muted) 55%,transparent);color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 8%,var(--bg));white-space:nowrap}.pavilion-title-badge--premium{color:#8b2020;border-color:#c93030;background:color-mix(in srgb,#c93030 10%,var(--bg-panel))}.auth-user-tier{flex-shrink:0;font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.12em;line-height:1;padding:.28rem .42rem;border-radius:3px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-panel)}.auth-user-tier--super{color:#8b5a2b;border-color:color-mix(in srgb,#8b5a2b 45%,var(--border));background:color-mix(in srgb,#8b5a2b 12%,var(--bg-panel))}.auth-user-tier--member{color:#8b2020;border-color:#c93030;background:color-mix(in srgb,#c93030 10%,var(--bg-panel))}.auth-user-tier--free{color:var(--text-muted)}.auth-user-profile-btn{font-size:.6875rem;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9rem;flex-shrink:0;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:underline;text-underline-offset:.15em;text-decoration-color:color-mix(in srgb,var(--text-light) 45%,transparent);transition:color .2s,text-decoration-color .2s}.auth-user-profile-btn:hover,.auth-user-profile-btn:focus-visible{color:var(--text);text-decoration-color:var(--accent);outline:none}.profile-area{min-height:calc(100vh - var(--header-h));padding:2.5rem 0 4rem}.profile-container{max-width:28rem;margin:0 auto}.profile-back-btn{font-size:.75rem;letter-spacing:.08em;color:var(--text-light);background:none;border:none;cursor:pointer;padding:0;margin-bottom:2rem;transition:color .2s}.profile-back-btn:hover,.profile-back-btn:focus-visible{color:var(--text);outline:none}.profile-title{font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:400;margin:0 0 .5rem;letter-spacing:.04em}.profile-lead{font-size:.8125rem;color:var(--text-light);margin:0 0 2rem;line-height:1.6}.profile-section-title{font-size:.9375rem;font-weight:500;letter-spacing:.1em;margin:2rem 0 .5rem}.profile-field-hint--block{margin-bottom:1rem}.profile-field-hint--block strong{font-weight:500;color:var(--text-muted)}.profile-lang-add-bar{margin-bottom:1rem}.profile-lang-add-bar .profile-field-label{margin-bottom:.4rem}.profile-lang-add-row{display:flex;gap:.5rem;align-items:stretch}.profile-lang-add-select{flex:1;min-width:0;font-family:inherit;font-size:.8125rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.profile-lang-add-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.profile-lang-add-btn{flex-shrink:0;font-size:.8125rem;letter-spacing:.08em;padding:.5rem 1rem;border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:4px;cursor:pointer;transition:background .2s,color .2s}.profile-lang-add-btn:hover:not(:disabled),.profile-lang-add-btn:focus-visible:not(:disabled){background:var(--accent);color:var(--bg-panel);outline:none}.profile-lang-add-btn:disabled{opacity:.45;cursor:not-allowed}.profile-lang-levels{display:flex;flex-direction:column;gap:0;margin-bottom:1.75rem;border:1px solid var(--border);border-radius:4px;overflow:hidden;min-height:3.5rem;background:var(--bg)}.profile-lang-empty{margin:0;padding:1.25rem 1rem;font-size:.8125rem;color:var(--text-light);line-height:1.6;text-align:center}.profile-lang-row{display:grid;grid-template-columns:minmax(3.5rem,auto) 3.25rem 1fr auto;align-items:center;gap:.5rem .65rem;padding:.55rem .75rem;background:var(--bg)}.profile-lang-row+.profile-lang-row{border-top:1px solid var(--border)}.profile-lang-name{font-size:.8125rem;color:var(--text)}.profile-lang-scale-tag{font-size:.625rem;letter-spacing:.08em;color:var(--text-light);text-align:center}.profile-lang-level{font-family:inherit;font-size:.8125rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);min-width:0}.profile-lang-level:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.profile-lang-remove{width:1.75rem;height:1.75rem;padding:0;border:none;background:transparent;color:var(--text-light);font-size:1.125rem;line-height:1;cursor:pointer;border-radius:4px;transition:color .2s,background .2s}.profile-lang-remove:hover,.profile-lang-remove:focus-visible{color:#a85858;background:#a8585814;outline:none}.profile-explain-lang-select{width:100%;margin-bottom:1.75rem;cursor:pointer}.panel-header .panel-level-hint{font-size:.625rem;letter-spacing:.1em;color:var(--text-light);margin:0 0 1rem;padding-right:2rem;line-height:1.5}.profile-field-label{display:block;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light);margin-bottom:.5rem}.profile-field-hint{font-size:.75rem;color:var(--text-light);margin:.35rem 0 1.5rem;line-height:1.5}.profile-handle-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.profile-handle-current{font-size:1.125rem;font-weight:500;margin:0 0 1rem;letter-spacing:.02em}.profile-handle-input-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.35rem}.profile-handle-input-row .profile-input{flex:1 1 10rem;margin-bottom:0}.profile-handle-btn{flex:0 0 auto;font-size:.75rem;letter-spacing:.08em;padding:.55rem .85rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-soft);color:var(--text);cursor:pointer}.profile-handle-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.profile-handle-btn:disabled{opacity:.5;cursor:not-allowed}.profile-handle-btn--premium{border-color:#b45309;color:#b45309}.profile-handle-suffix-block{margin-top:1rem}.profile-field-hint.profile-handle-status--error{color:#b91c1c;font-weight:500}.profile-field-hint.profile-handle-status--ok{color:#15803d;font-weight:500}.profile-handle-status--error{color:#b91c1c}.profile-handle-status--ok{color:#15803d}.profile-input{width:100%;box-sizing:border-box;font-size:.9375rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);margin-bottom:.25rem}.profile-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.profile-email-readonly{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted);margin:0 0 1.75rem}.profile-email-display .pavilion-title-badge{margin-right:.35rem}.profile-pavilion-titles{font-size:.75rem;color:#8b2020;margin-left:.35rem}.profile-email-text{word-break:break-all}.profile-save-btn{font-size:.8125rem;letter-spacing:.12em;padding:.65rem 1.5rem;border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;border-radius:4px;transition:opacity .2s,background .2s}.profile-save-btn:hover:not(:disabled),.profile-save-btn:focus-visible:not(:disabled){opacity:.92;outline:none}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.profile-status{margin-top:1rem;font-size:.8125rem;color:var(--text-light)}.profile-status--error{color:#a63d3d}.profile-status--ok{color:var(--accent)}[data-theme=dark] .profile-status--error{color:#e88a8a}.browse-area{min-height:calc(100vh - var(--header-h));padding:2.5rem 0 4rem}.browse-container{max-width:56rem;margin:0 auto}.browse-back-btn{font-size:.75rem;letter-spacing:.08em;color:var(--text-light);background:none;border:none;cursor:pointer;padding:0;margin-bottom:2rem;transition:color .2s}.browse-back-btn:hover,.browse-back-btn:focus-visible{color:var(--text);outline:none}.browse-title{font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:400;margin:0 0 .5rem;letter-spacing:.04em}.browse-lead{font-size:.8125rem;color:var(--text-light);margin:0 0 1.75rem;line-height:1.6}.community-vote-area{min-height:calc(100vh - var(--header-h));padding:2.5rem 0 4rem}.community-vote-container{max-width:72rem;margin:0 auto}.community-vote-back-btn{font-size:.75rem;letter-spacing:.08em;color:var(--text-light);background:none;border:none;cursor:pointer;padding:0;margin-bottom:2rem;transition:color .2s}.community-vote-back-btn:hover,.community-vote-back-btn:focus-visible{color:var(--text);outline:none}.community-vote-title{font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:400;margin:0 0 .5rem;letter-spacing:.04em}.community-vote-lead,.community-vote-rules{font-size:.8125rem;color:var(--text-light);margin:0 0 .75rem;line-height:1.6}.community-vote-rules{margin-bottom:1.25rem;color:var(--text-muted)}.community-vote-status{font-size:.78rem;margin:0 0 1rem;color:var(--text-muted)}.community-vote-status--error{color:var(--danger, #c0392b)}.community-vote-type-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.community-vote-type-tab{padding:.4rem .85rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-family:"Noto Serif SC",serif;font-size:.75rem;letter-spacing:.06em;cursor:pointer}.community-vote-type-tab--active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.community-vote-layout{display:grid;gap:1rem;align-items:start}.community-vote-layout:not(.community-vote-layout--feedback):not(.community-vote-layout--feedback-resolved){grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}.community-vote-layout:not(.community-vote-layout--text-open):not(.community-vote-layout--feedback):not(.community-vote-layout--feedback-resolved) .community-vote-detail-wrap{visibility:hidden;pointer-events:none}.community-vote-layout--text-open:not(.community-vote-layout--feedback):not(.community-vote-layout--feedback-resolved) .community-vote-detail-wrap{visibility:visible;pointer-events:auto}.community-vote-layout--feedback{grid-template-columns:minmax(148px,196px) minmax(0,1fr)}.community-vote-layout--feedback-resolved{grid-template-columns:minmax(0,1fr)}.community-vote-layout--feedback .community-vote-detail-wrap,.community-vote-layout--feedback-resolved .community-vote-detail-wrap{display:none}.community-vote-week-nav{position:sticky;top:calc(var(--header-h) + .75rem);align-self:start;padding:.65rem .5rem .65rem 0}.community-vote-week-nav__label{margin:0 0 .55rem;font-size:.68rem;letter-spacing:.08em;color:var(--text-muted)}.community-vote-week-nav__hint{margin:.65rem 0 0;font-size:.65rem;line-height:1.45;color:var(--text-muted)}.community-vote-week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.community-vote-week-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.72rem;color:var(--text-muted);cursor:pointer;text-align:left}.community-vote-week-btn--active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.community-vote-week-btn__count{font-size:.65rem;color:var(--text-muted)}.community-vote-card__inline-detail{border-top:1px solid var(--border);padding:.65rem .85rem .85rem;background:color-mix(in srgb,var(--bg) 55%,var(--bg-panel))}.community-vote-feedback-details{margin:0}.community-vote-feedback-details>summary{list-style:none}.community-vote-feedback-details>summary::-webkit-details-marker{display:none}.community-vote-card--feedback:has(.community-vote-feedback-details[open]){border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.community-vote-inline-detail__label{margin:0 0 .45rem;font-size:.65rem;letter-spacing:.08em;color:var(--text-muted)}.community-vote-preview--inline,.community-vote-preview--inline .community-vote-preview__feedback-body{margin:0}.community-vote-list-wrap{min-width:0}.community-vote-list{display:flex;flex-direction:column;gap:.75rem}.community-vote-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);overflow:hidden}.community-vote-card--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.community-vote-card__select{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.75rem .85rem .55rem;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.community-vote-card__kind{font-size:.65rem;letter-spacing:.06em;color:var(--text-muted)}.community-vote-card__title{font-size:.92rem;font-weight:600}.community-vote-card__subtitle,.community-vote-card__contributor,.community-vote-card__summary{font-size:.72rem;color:var(--text-muted);line-height:1.45}.community-vote-card__location{font-size:.74rem;color:var(--accent);line-height:1.45}.community-vote-text-details{border-top:1px solid var(--border)}.community-vote-text-toggle{display:block;width:100%;box-sizing:border-box;margin:0;padding:.45rem .85rem;border:none;border-top:1px solid var(--border);background:transparent;font-family:"Noto Serif SC",serif;font-size:.72rem;color:var(--accent);text-align:left;cursor:pointer;line-height:1.45}.community-vote-text-toggle:before{content:"鈻?"}.community-vote-text-toggle--open:before{content:"鈻?"}.community-vote-text-toggle:hover,.community-vote-text-toggle:focus-visible{background:color-mix(in srgb,var(--accent) 6%,transparent)}.community-vote-card:has(.community-vote-text-toggle--open){border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.community-vote-text-details__summary{padding:.45rem .85rem;font-size:.72rem;color:var(--accent);cursor:pointer;list-style:none}.community-vote-text-details__summary::-webkit-details-marker{display:none}.community-vote-text-details__summary:before{content:"鈻?"}.community-vote-text-details[open] .community-vote-text-details__summary:before{content:"鈻?"}.community-vote-card:has(.community-vote-text-details[open]){border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.community-vote-placeholder--inline{padding:.75rem 0;text-align:left}.community-vote-meter{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem .35rem}.community-vote-meter__end{flex:0 0 auto;min-width:2.25rem;font-family:"Noto Serif SC",serif;font-size:.78rem;font-weight:600;letter-spacing:.08em;line-height:1;text-align:center}.community-vote-meter__end--yes{color:#c0392b}.community-vote-meter__end--no{color:#1a1a1a}[data-theme=dark] .community-vote-meter__end--no{color:var(--text)}.community-vote-meter__end:not(.community-vote-meter__end--label){padding:.35rem .55rem;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;transition:background .15s ease}.community-vote-meter__end--yes:not(.community-vote-meter__end--label):hover{background:color-mix(in srgb,#c0392b 10%,transparent)}.community-vote-meter__end--no:not(.community-vote-meter__end--label):hover{background:color-mix(in srgb,#1a1a1a 8%,transparent)}.community-vote-meter__end--label{font-size:.72rem;font-weight:600}.community-vote-meter__track{flex:1;display:flex;height:4px;min-width:0;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 18%,var(--border))}.community-vote-meter__track--empty .community-vote-meter__yes,.community-vote-meter__track--empty .community-vote-meter__no{opacity:.35}.community-vote-meter__yes{height:100%;background:#c0392b;transition:width .35s ease}.community-vote-meter__no{height:100%;background:#1a1a1a;transition:width .35s ease}[data-theme=dark] .community-vote-meter__no{background:color-mix(in srgb,var(--text) 88%,transparent)}.community-vote-card__stats{display:flex;flex-wrap:wrap;gap:.35rem .75rem;padding:0 .85rem .55rem;font-size:.68rem;color:var(--text-muted)}.community-vote-card__time{color:var(--accent)}.community-vote-card--rejected .community-vote-card__reject-reason{margin:0;padding:0 .85rem .35rem;font-size:.74rem;color:var(--danger, #c0392b);line-height:1.45}.community-vote-card__reject-time{display:block;padding:0 .85rem .75rem;font-size:.68rem;color:var(--text-muted)}.community-vote-type-tab[data-vote-type=rejected].community-vote-type-tab--active{border-color:color-mix(in srgb,var(--danger, #c0392b) 55%,var(--border));color:var(--danger, #c0392b);background:color-mix(in srgb,var(--danger, #c0392b) 8%,transparent)}.community-vote-feedback-subtabs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.35rem 0 1rem}.community-vote-feedback-subtab{padding:.32rem .75rem;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.72rem;color:var(--text-muted);cursor:pointer}.community-vote-feedback-subtab--active{border-color:var(--accent);color:var(--text)}.community-vote-feedback-hint{margin:0;font-size:.68rem;color:var(--text-muted)}.community-vote-card__meta-line{font-size:.68rem;color:var(--text-muted)}.community-vote-card__feedback-actions{padding:0 .85rem .75rem}.community-vote-like-btn{font-family:"Noto Serif SC",serif;font-size:.72rem;padding:.3rem .75rem;border:1px solid var(--border);border-radius:999px;background:transparent;cursor:pointer}.community-vote-like-btn--liked{border-color:var(--accent);color:var(--accent);cursor:default}.community-vote-preview__feedback-body{margin:.65rem 0;font-size:.82rem;line-height:1.6;white-space:pre-wrap}.community-vote-card__needed{color:var(--accent)}.community-vote-card__actions,.community-vote-card__login-hint,.community-vote-card__voted{padding:0 .85rem .75rem;font-size:.72rem}.community-vote-card__actions{display:flex;gap:.5rem}.community-vote-yes-btn,.community-vote-no-btn,.community-vote-login-btn{font-family:"Noto Serif SC",serif;font-size:.72rem;letter-spacing:.06em;padding:.35rem .85rem;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:transparent}.community-vote-yes-btn{border-color:color-mix(in srgb,#c0392b 50%,var(--border));color:#c0392b}.community-vote-no-btn{border-color:color-mix(in srgb,#1a1a1a 35%,var(--border));color:#1a1a1a}.community-vote-card__voted--yes{color:#c0392b}.community-vote-card__voted--no{color:#1a1a1a}[data-theme=dark] .community-vote-card__voted--no{color:var(--text)}.community-vote-card__weight-hint,.community-vote-veto-hint{font-size:.72rem;color:var(--text-muted);margin:.35rem 0 0;line-height:1.5}.community-vote-veto{margin-top:.65rem;padding-top:.65rem;border-top:1px dashed color-mix(in srgb,#8b2020 30%,var(--border))}.community-vote-veto__lead{font-size:.72rem;color:#8b2020;margin:0 0 .4rem;line-height:1.55}.community-vote-veto__reason{width:100%;box-sizing:border-box;font-family:inherit;font-size:.75rem;line-height:1.5;padding:.45rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);resize:vertical;min-height:4.5rem}.community-vote-veto-btn{margin-top:.4rem;font-size:.72rem;padding:.35rem .65rem;border-radius:4px;border:1px solid color-mix(in srgb,#8b2020 45%,var(--border));color:#8b2020;background:color-mix(in srgb,#8b2020 8%,var(--bg-panel));cursor:pointer}.community-vote-veto-btn:hover,.community-vote-veto-btn:focus-visible{border-color:#8b2020}.community-vote-voters{padding:0 .85rem .75rem}.community-vote-voter-search-details{margin-bottom:.55rem}.community-vote-voter-search-details__summary{font-size:.72rem;color:var(--text-muted);cursor:pointer;list-style:none;padding:0;line-height:1.45}.community-vote-voter-search-details__summary::-webkit-details-marker{display:none}.community-vote-voter-search-details__summary:before{content:"鈻?"}.community-vote-voter-search-details[open] .community-vote-voter-search-details__summary{margin-bottom:.35rem}.community-vote-voter-search-details[open] .community-vote-voter-search-details__summary:before{content:"鈻?"}.community-vote-voter-search-details__body{display:flex;flex-direction:column;gap:.55rem}.community-vote-voter-search{width:100%;box-sizing:border-box;font-family:inherit;font-size:.75rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.community-vote-voter-columns{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.community-vote-voter-col__title{font-size:.72rem;font-weight:600;margin:0 0 .35rem;color:var(--text-light)}.community-vote-voter-list{list-style:none;margin:0;padding:0;max-height:11rem;overflow:auto;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:4px;background:color-mix(in srgb,var(--bg-panel) 92%,var(--bg))}.community-vote-voter-item{display:flex;flex-wrap:wrap;gap:.25rem .4rem;align-items:baseline;padding:.32rem .45rem;font-size:.7rem;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.community-vote-voter-item:last-child{border-bottom:none}.community-vote-voter-item--empty{color:var(--text-muted);font-style:normal}.community-vote-voter-item .pavilion-title-badge{flex-shrink:0}.community-vote-voter-id{color:var(--text);word-break:break-all}@media(max-width:720px){.community-vote-voter-columns{grid-template-columns:1fr}}.community-vote-detail-wrap{position:sticky;top:calc(var(--header-h) + 1rem)}.community-vote-detail{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);padding:1rem;min-height:240px;max-height:calc(100vh - var(--header-h) - 3rem);overflow:auto}.community-vote-preview__title{margin:0 0 .35rem;font-size:.95rem}.community-vote-preview__summary{display:grid;gap:.35rem;margin:0 0 .75rem;font-size:.78rem;line-height:1.5}.community-vote-preview__summary>div{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .75rem;align-items:baseline}.community-vote-preview__summary dt{margin:0;color:var(--text-muted)}.community-vote-preview__summary dd{margin:0}.community-vote-preview__empty{font-size:.78rem;color:var(--text-muted);line-height:1.55}.community-vote-preview__reject-banner{margin:0 0 1rem;padding:.65rem .75rem;border:1px dashed color-mix(in srgb,var(--danger, #c0392b) 40%,var(--border));border-radius:8px;font-size:.76rem;line-height:1.5;color:var(--danger, #c0392b)}.community-vote-preview__reject-banner p{margin:.15rem 0}.community-vote-preview__meta,.community-vote-preview__note,.community-vote-preview__block,.community-vote-preview__empty{font-size:.78rem;color:var(--text-muted);line-height:1.55}.community-vote-preview__entries{margin:.75rem 0 0;padding:0;list-style:none;font-size:.78rem;line-height:1.5}.community-vote-preview__entry{padding:.45rem 0;border-top:1px solid var(--border)}.community-vote-preview__entry:first-child{border-top:none}.community-vote-preview__entry-id{display:block;margin-bottom:.2rem;color:var(--text-muted);font-size:.68rem}.community-vote-preview__entry-text{white-space:pre-wrap;word-break:break-word}.community-vote-preview__chapters{margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem}.community-vote-chapter-details{border:1px solid var(--border);border-radius:8px;overflow:hidden}.community-vote-chapter-details__summary{padding:.45rem .6rem;font-size:.76rem;cursor:pointer;list-style:none;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.community-vote-chapter-details__summary::-webkit-details-marker{display:none}.community-vote-chapter-details__count{margin-left:auto;font-size:.68rem;color:var(--text-muted)}.community-vote-preview__chapter-body{padding:.35rem .6rem .65rem;border-top:1px solid var(--border);max-height:360px;overflow:auto}.community-vote-preview__para{display:flex;gap:.45rem;margin:.35rem 0;font-size:.76rem;line-height:1.55}.community-vote-preview__para-num{flex:0 0 auto;min-width:1.25rem;color:var(--text-muted);font-size:.68rem}.community-vote-preview__para-text{flex:1;white-space:pre-wrap;word-break:break-word}.community-vote-placeholder{font-size:.82rem;color:var(--text-muted);text-align:center;padding:2rem 1rem}.community-vote-placeholder--error{color:var(--danger, #c0392b)}.site-hall--community.site-hall--active{color:var(--text);border-color:var(--accent)}.site-hall--pavilion.site-hall--active{color:var(--text);border-color:#c93030}.site-hall--atlas.site-hall--active{color:var(--text);border-color:#5a7a5a}.pavilion-area{padding:2rem 0 3rem;min-height:60vh}.pavilion-container{max-width:920px}.pavilion-back-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;color:var(--text-muted);background:none;border:none;padding:0;margin-bottom:1rem;cursor:pointer}.pavilion-back-btn:hover,.pavilion-back-btn:focus-visible{color:var(--text)}.pavilion-title{font-family:"Noto Serif SC",serif;font-size:1.75rem;font-weight:500;margin:0 0 .5rem}.pavilion-lead,.pavilion-rules{font-size:.875rem;color:var(--text-muted);line-height:1.65;margin:0 0 1.25rem}.pavilion-rules{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.pavilion-viewer{margin-bottom:1.25rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,#c93030 35%,var(--border));border-radius:4px;background:color-mix(in srgb,#c93030 6%,var(--bg-panel))}.pavilion-viewer__line{margin:0;font-size:.875rem;line-height:1.6}.pavilion-viewer__line+.pavilion-viewer__line{margin-top:.35rem;color:var(--text-muted)}.pavilion-status{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.pavilion-status--error{color:var(--danger, #c0392b)}.pavilion-rankings{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.pavilion-rank-block{border:1px solid var(--border);border-radius:4px;padding:1rem 1.1rem;background:var(--bg)}.pavilion-rank-title{font-family:"Noto Serif SC",serif;font-size:1rem;font-weight:500;margin:0 0 .85rem}.pavilion-rank-list{list-style:none;margin:0;padding:0}.pavilion-rank-item{display:grid;grid-template-columns:2rem 1fr auto;gap:.35rem .5rem;align-items:baseline;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:.8125rem}.pavilion-rank-item:last-child{border-bottom:none}.pavilion-rank-num{font-weight:600;color:var(--text-muted)}.pavilion-rank-count{color:var(--text-muted);white-space:nowrap}.pavilion-rank-titles{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.pavilion-rank-titles .pavilion-title-badge{font-size:.68rem}.pavilion-placeholder{font-size:.875rem;color:var(--text-muted);padding:.5rem 0}.pavilion-placeholder--error{color:var(--danger, #c0392b)}@media(max-width:820px){.pavilion-rankings{grid-template-columns:1fr}}@media(max-width:820px){.community-vote-layout:not(.community-vote-layout--feedback):not(.community-vote-layout--feedback-resolved){grid-template-columns:1fr}.community-vote-layout:not(.community-vote-layout--text-open):not(.community-vote-layout--feedback):not(.community-vote-layout--feedback-resolved) .community-vote-detail-wrap{display:none;visibility:visible;pointer-events:auto}.community-vote-layout,.community-vote-layout--feedback{grid-template-columns:1fr}.community-vote-week-nav{position:static;padding:0 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.community-vote-week-list{flex-direction:row;flex-wrap:wrap}.community-vote-week-btn{width:auto}.community-vote-detail-wrap{position:static}}.browse-lang-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.browse-lang-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-family:"Noto Serif SC",serif;font-size:.75rem;letter-spacing:.06em;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.browse-lang-btn:hover:not(:disabled),.browse-lang-btn:focus-visible:not(:disabled){border-color:var(--accent);color:var(--text);outline:none}.browse-lang-btn.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.browse-lang-btn.disabled-option{opacity:.38;cursor:not-allowed}.browse-lang-count{font-size:.6875rem;color:var(--text-light);min-width:1.1em;text-align:center}.browse-lang-btn.selected .browse-lang-count{color:var(--text-muted)}.browse-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.browse-lang-heading{font-size:1rem;font-weight:500;letter-spacing:.12em;margin:0}.browse-result-count{font-size:.75rem;color:var(--text-light);letter-spacing:.08em}.browse-book-grid{display:flex;flex-wrap:wrap;gap:3rem 3.5rem}.browse-empty{width:100%;margin:0;padding:2rem 0;color:var(--text-light);font-size:.875rem;letter-spacing:.06em}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:110;transition:background var(--transition)}.settings-overlay.visible{background:#3d3a362e;pointer-events:auto}[data-theme=dark] .settings-overlay.visible{background:#00000073}.settings-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(400px,92vw);max-height:min(88vh,640px);overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:120;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.5rem;transition:opacity var(--transition),transform var(--transition)}.settings-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.settings-close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:var(--text-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.settings-close-btn:hover,.settings-close-btn:focus-visible{color:var(--text);background:var(--accent-soft);outline:none}.settings-label{font-size:.6875rem;letter-spacing:.2em;color:var(--text-light);margin-bottom:.5rem}.settings-title{font-family:var(--font-latin);font-size:1.375rem;font-weight:500;margin:0 0 .5rem;padding-right:2rem}.settings-desc{font-size:.8125rem;color:var(--text-light);line-height:1.6;margin-bottom:1.5rem}.settings-fieldset{border:none;margin:0 0 1.5rem;padding:0}.settings-fieldset-legend{font-size:.6875rem;letter-spacing:.16em;color:var(--text-light);margin-bottom:.75rem;padding:0}.settings-option{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 0;cursor:pointer}.settings-option+.settings-option{border-top:1px solid var(--border)}.settings-option input{margin-top:.2rem;flex-shrink:0;accent-color:var(--accent)}html[data-block-community="1"] #hallBtnCommunityVote,html[data-block-community="1"] #hallBtnPavilion,html[data-block-community="1"] #communityContributionsBtn,html[data-block-community="1"] #feedbackBtn,html[data-block-community="1"] #communityTranslationCluster{display:none!important}html:not([data-community-vote-off="0"]) #hallBtnCommunityVote{display:none!important}html:not([data-atlas-off="0"]) #hallBtnAtlas{display:none!important}html:not([data-light-read-off="0"]) #hallBtnLightRead{display:none!important}.admin-atlas-layout,.admin-community-votes-layout{display:flex;flex-direction:column;gap:1rem}.admin-community-votes-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel)}.admin-community-votes-toggle{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-community-votes-toggle input{margin-top:.2rem;flex-shrink:0}.admin-community-votes-toggle__text{display:flex;flex-direction:column;gap:.15rem}.admin-community-votes-toggle__hint{font-size:.82rem;color:var(--text-muted);font-weight:400}.admin-community-votes-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.admin-community-votes-tab{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;cursor:pointer}.admin-community-votes-tab--active{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.admin-community-votes-table-wrap{overflow-x:auto}.admin-community-votes-title{max-width:14rem}.admin-community-votes-sub{max-width:12rem;color:var(--text-muted);font-size:.85rem}.admin-community-votes-actions{white-space:nowrap}.settings-option-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.settings-option-label{font-size:.875rem;color:var(--text)}.settings-option-hint{font-size:.75rem;color:var(--text-light);line-height:1.45}.settings-preview{margin:.75rem 0 0;padding:.85rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:.5rem}.settings-preview-latin{font-family:var(--font-latin);font-size:1rem;color:var(--text);line-height:1.5}.settings-preview-cjk{font-family:var(--font-cjk);font-size:.9375rem;color:var(--text-muted);line-height:1.65}.settings-font-size-row{display:flex;align-items:center;gap:.75rem;margin-top:.35rem}.settings-font-size-btn{width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:4px;background:transparent;font-family:"Noto Serif SC",serif;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s,border-color .2s}.settings-font-size-btn:hover:not(:disabled){color:var(--text);background:var(--accent-soft)}.settings-font-size-btn:disabled{opacity:.4;cursor:not-allowed}.settings-font-size-value{min-width:3rem;text-align:center;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.04em}.settings-font-size-hint{margin-top:.5rem;font-family:var(--font-cjk);font-size:.9rem;color:var(--text-muted);line-height:1.65}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:110;transition:background var(--transition)}.auth-overlay.visible{background:#3d3a362e;pointer-events:auto}[data-theme=dark] .auth-overlay.visible{background:#00000073}.auth-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(400px,88vw);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:120;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.5rem;transition:opacity var(--transition),transform var(--transition)}.auth-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.auth-dialog.auth-dialog--otp .auth-desc{color:var(--text);margin-bottom:1rem}.auth-dialog.auth-dialog--otp #authStepOtp{display:block!important;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--border)}.auth-dialog.auth-dialog--otp{max-height:min(90vh,640px);overflow-y:auto}.auth-dialog.auth-dialog--password #authStepPassword{display:block!important;padding-top:.25rem}.auth-dialog.auth-dialog--password{max-height:min(90vh,640px);overflow-y:auto}.auth-link-btn{display:block;width:100%;margin-top:.75rem;padding:0;border:none;background:none;font-family:"Noto Serif SC",serif;font-size:.75rem;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-alt-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.85rem}.auth-alt-links .auth-link-btn{display:inline;width:auto;margin-top:0}.auth-link-btn:hover,.auth-link-btn:focus-visible{color:var(--text);outline:none}.auth-password-hint{font-size:.75rem;line-height:1.6;color:var(--text-muted);margin-bottom:.875rem}.auth-close-btn{position:absolute;top:.875rem;right:.875rem;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .25s,background .25s}.auth-close-btn:hover,.auth-close-btn:focus-visible{color:var(--text-muted);background:var(--accent-soft);outline:none}.auth-label{font-size:.6875rem;letter-spacing:.2em;color:var(--text-light);margin-bottom:.875rem}.auth-title{font-family:Cormorant Garamond,"Noto Serif SC",serif;font-size:1.5rem;font-weight:500;line-height:1.35;color:var(--text);margin-bottom:.5rem}.auth-desc{font-size:.8125rem;font-weight:300;line-height:1.65;color:var(--text-muted);margin-bottom:1.25rem}.auth-field-label{display:block;font-size:.6875rem;letter-spacing:.08em;color:var(--text-light);margin-bottom:.45rem}.auth-input{width:100%;font-family:"Noto Serif SC",serif;font-size:.875rem;padding:.75rem .875rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);outline:none;transition:border-color .25s,box-shadow .25s}.auth-input:focus{border-color:#8eb4c973;box-shadow:0 0 0 3px var(--accent-soft)}.auth-input--otp{letter-spacing:.28em;font-size:1.125rem;text-align:center}.auth-primary-btn,.auth-secondary-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;letter-spacing:.08em;padding:.6rem 1rem;border-radius:4px;border:1px solid var(--border);cursor:pointer;transition:color .25s,border-color .25s,background .25s}.auth-primary-btn{width:100%;color:var(--text);background:var(--accent-soft);border-color:#8eb4c959}.auth-primary-btn:hover:not(:disabled),.auth-primary-btn:focus-visible:not(:disabled){border-color:var(--accent);outline:none}.auth-primary-btn:disabled{opacity:.55;cursor:not-allowed}.auth-secondary-btn{color:var(--text-muted);background:transparent}.auth-secondary-btn:hover,.auth-secondary-btn:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.auth-actions{display:flex;gap:.625rem}.auth-actions .auth-primary-btn{flex:1}.auth-otp-hint{font-size:.75rem;line-height:1.6;color:var(--text-muted);margin-bottom:.875rem}.auth-setup-note{font-size:.8125rem;line-height:1.7;color:var(--text-muted);padding:.875rem 1rem;background:var(--accent-soft);border-radius:4px}.auth-setup-note code{font-size:.75rem;color:var(--text)}.auth-status{margin-top:.875rem;font-size:.75rem;line-height:1.6;color:var(--text-muted)}.auth-status[hidden]{display:none}.auth-status--error{color:#b85c5c}[data-theme=dark] .auth-status--error{color:#e08888}.auth-step[hidden]{display:none}body.translation-pending .paragraph-row.bilingual-row{grid-template-columns:1fr}body.translation-pending .box-right{display:none}body.translation-pending .box-left,body.translation-pending .bilingual-flow{max-width:100%}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .bilingual-flow{width:max-content!important;max-width:none!important}body.chinese-vertical-layout .paragraph-row.bilingual-row,body.chinese-vertical-layout .box-left,body.chinese-vertical-layout .box-left .col-text,body.chinese-vertical-layout .paragraph-row .paragraph{width:auto!important;max-width:none!important;flex:none!important}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:50;transition:background var(--transition)}.panel-overlay.visible{background:#3d3a361f;pointer-events:none}[data-theme=dark] .panel-overlay.visible{background:#00000059}.analysis-panel{position:fixed;top:var(--header-h);right:0;bottom:0;width:var(--panel-w);background:var(--bg-panel);border-left:1px solid var(--border);box-shadow:-8px 0 40px var(--shadow);z-index:60;transform:translate(100%);opacity:0;transition:transform var(--transition),opacity var(--transition);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.analysis-panel.open{transform:translate(0);opacity:1}body.panel-dock-left .analysis-panel{left:0;right:auto;transform:translate(-100%);border-left:none;border-right:1px solid var(--border);box-shadow:8px 0 40px var(--shadow)}body.panel-dock-left .analysis-panel.open{transform:translate(0)}body.panel-dock-left .panel-resize-handle{left:auto;right:0;margin-left:0;margin-right:-4px}body.panel-dock-left .panel-resize-handle:after{left:auto;right:3px}.panel-dock-toggle{position:absolute;top:1.25rem;left:1.25rem;z-index:2;width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:var(--text-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.panel-dock-toggle:hover{color:var(--text);background:var(--accent-soft)}body.panel-dock-left .panel-dock-toggle svg{transform:scaleX(-1)}.panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;margin-left:-4px;cursor:col-resize;z-index:5;touch-action:none}.panel-resize-handle:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;border-radius:1px;background:transparent;transition:background .15s ease}.analysis-panel.open .panel-resize-handle:hover:after,body.panel-resizing .panel-resize-handle:after{background:var(--accent)}body.panel-resizing .analysis-panel,body.panel-resizing .reading-area{transition:none!important}body.panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-header{position:relative;padding:2rem 2rem 1.25rem 3.75rem;border-bottom:1px solid var(--border)}.panel-quote-block+.panel-quote-block{margin-top:1rem}.panel-regenerate-btn,.panel-close{position:absolute;top:1.25rem;z-index:2;width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:var(--text-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.panel-regenerate-btn{right:3.75rem}.panel-regenerate-btn[hidden]{display:none}.panel-regenerate-btn:hover:not(:disabled){color:var(--text);background:var(--accent-soft)}.panel-regenerate-btn:disabled{opacity:.45;cursor:wait}.panel-close{right:1.25rem}.panel-close:hover{color:var(--text);background:var(--accent-soft)}.panel-label{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:.75rem}.panel-label--toggle{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;transition:color .2s}.panel-source-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.75rem}.panel-source-toolbar .panel-label--toggle{margin-bottom:0}.panel-syntax-markup-btn{font-size:.6875rem;font-weight:500;letter-spacing:.2em;color:var(--text-muted);background:transparent;border:none;border-bottom:1px solid transparent;padding:.1rem .15rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,opacity .15s ease}.panel-syntax-markup-btn:hover:not(:disabled){color:var(--text)}.panel-syntax-markup-btn.is-active{color:var(--text);border-bottom-color:var(--accent)}.panel-syntax-markup-btn.is-disabled,.panel-syntax-markup-btn:disabled{opacity:.4;cursor:not-allowed}.panel-source-toolbar .syntax-legend{margin-left:0}.syntax-legend-host[hidden]{display:none!important}.panel-label--toggle:hover{color:var(--text)}.panel-label--toggle:after{content:"▾";font-size:.85em;opacity:.65;letter-spacing:0}.panel-quote-block--source.is-collapsed .panel-label--toggle{margin-bottom:0}.panel-quote-block--source.is-collapsed .panel-label--toggle:after{content:"▸"}.panel-quote-block--source.is-collapsed .panel-quote--source{display:none}.panel-quote--source{font-family:Cormorant Garamond,serif;font-size:1.0625rem;line-height:1.65;color:var(--text-muted);font-style:italic;padding-right:2rem}.panel-quote--target{font-size:.8125rem;line-height:1.7;color:var(--text-light);padding-right:2rem}.panel-quote--target.panel-quote--pending{color:var(--text-light);font-style:italic;opacity:.85}.panel-body{padding:1.5rem 2rem 3rem}.section{margin-bottom:2.25rem;opacity:0;transform:translateY(12px);animation:sectionIn .5s cubic-bezier(.22,1,.36,1) forwards}.section:nth-child(1){animation-delay:.08s}.section:nth-child(2){animation-delay:.16s}.section:nth-child(3){animation-delay:.24s}@keyframes sectionIn{to{opacity:1;transform:translateY(0)}}.section-title{display:flex;align-items:center;gap:.6rem;font-size:.8125rem;font-weight:500;letter-spacing:.12em;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.section-icon{width:6px;height:6px;border-radius:50%;background:var(--accent)}.section-content{font-size:.875rem;line-height:1.85;color:var(--text-muted)}.panel-status{font-size:.875rem;line-height:1.75;color:var(--text-muted);padding:.5rem 0}.panel-status--error{color:#b85c5c}[data-theme=dark] .panel-status--error{color:#e08888}.panel-status-hint{font-size:.75rem;line-height:1.65;color:var(--text-light);margin-top:.75rem}.panel-upgrade-nudge{margin-top:1rem;padding:.95rem 1rem;border:1px solid color-mix(in srgb,#c93030 35%,var(--border));border-radius:8px;background:color-mix(in srgb,#c93030 6%,var(--bg-panel))}.panel-upgrade-nudge__lead{margin:0;font-size:.78rem;line-height:1.65;color:var(--text)}.panel-upgrade-nudge__btn{display:block;width:100%;margin-top:.85rem;padding:.55rem 1rem;border:1px solid #c93030;border-radius:999px;background:#c93030;color:#fff;font-family:"Noto Serif SC",serif;font-size:.78rem;letter-spacing:.06em;cursor:pointer;transition:background .15s,border-color .15s}.panel-upgrade-nudge__btn:hover{background:#a52020;border-color:#a52020}.panel-upgrade-nudge__note{margin:.55rem 0 0;font-size:.68rem;line-height:1.5;color:var(--text-muted);text-align:center}.vocab-item{padding:.65rem .75rem;margin-bottom:.5rem;background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:0 4px 4px 0;font-size:.8125rem;line-height:1.7}.vocab-item--structured{padding:.55rem .75rem}.vocab-item-head{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.vocab-item-word{font-weight:600;color:var(--text);letter-spacing:.01em}.vocab-item-ipa{font-size:.75rem;color:var(--text-muted, #888);font-family:Noto Sans,sans-serif;letter-spacing:.02em}.vocab-pronounce-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;border-radius:4px;cursor:pointer;opacity:.55;transition:opacity .15s,background .15s;flex-shrink:0;font-size:.85rem;line-height:1}.vocab-pronounce-btn:hover,.vocab-pronounce-btn:focus-visible{opacity:1;background:var(--accent-soft);outline:none}.vocab-pronounce-btn[aria-pressed=true]{opacity:1;color:var(--accent)}.vocab-item-meaning{margin-top:.2rem;color:var(--text-secondary, var(--text));font-size:.8rem;line-height:1.6}.lookup-word-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 .5rem}.lookup-meta-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;line-height:1.4;letter-spacing:.04em;background:var(--bg-panel);color:var(--text-muted);border:1px solid var(--border)}.lookup-meta-badge--gender{color:var(--accent);border-color:#8eb4c959;background:var(--accent-soft)}.lookup-meta-badge--verb-group{color:var(--wenyan-color);border-color:var(--wenyan-border);background:var(--wenyan-bg)}.lookup-meta-badge--countability{color:#7a6f5a;border-color:#b4a0644d;background:#b4a06414}.vocab-item-word--expand{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--text);letter-spacing:.01em;cursor:pointer;text-decoration:underline dotted transparent;transition:color .15s,text-decoration-color .15s}.vocab-item-word--expand:hover,.vocab-item-word--expand:focus-visible{color:var(--accent);text-decoration-color:var(--accent);outline:none}.vocab-item.is-expanded .vocab-item-word--expand{color:var(--accent);text-decoration-color:var(--accent)}.vocab-item-detail{margin-top:.55rem;padding-top:.55rem;border-top:1px dashed var(--border)}.conjugation-list{display:flex;flex-direction:column;gap:.75rem}.conjugation-accordion{display:flex;flex-direction:column;gap:.25rem}.conjugation-tense-item{border-radius:4px;overflow:hidden}.conjugation-tense-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .55rem;border:none;background:var(--bg-panel);color:var(--text);font-size:.8125rem;font-weight:500;cursor:pointer;text-align:left;transition:background .15s,color .15s}.conjugation-tense-btn:hover,.conjugation-tense-btn:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.conjugation-tense-item.is-open .conjugation-tense-btn{background:var(--accent-soft);color:var(--accent)}.conjugation-tense-chevron{font-size:.9rem;opacity:.55;transition:transform .2s}.conjugation-tense-item.is-open .conjugation-tense-chevron{transform:rotate(90deg);opacity:1}.conjugation-tense-panel{padding:.35rem .55rem .5rem;background:#00000005}[data-theme=dark] .conjugation-tense-panel{background:#ffffff08}.word-detail-verb,.word-detail-noun{margin-top:.15rem}.noun-forms-dl{margin:0 0 .65rem}.noun-forms-row{display:flex;gap:.5rem;font-size:.875rem;line-height:1.55;margin-bottom:.2rem}.noun-forms-row dt{flex-shrink:0;min-width:2.75rem;margin:0;font-weight:500;color:var(--text-muted)}.noun-forms-row dd{margin:0;font-family:var(--font-latin);font-size:.9375rem;font-weight:500;color:var(--text)}.word-etymology-label{font-size:.6875rem;font-weight:500;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.25rem}.word-etymology-text{margin:0;font-size:.8125rem;line-height:1.65;color:var(--text-muted)}.word-proper-noun{margin-top:.5rem;padding:.55rem .7rem;background:color-mix(in srgb,var(--accent) 6%,transparent);border-left:2px solid var(--accent);border-radius:0 6px 6px 0}.word-proper-noun-label{font-size:.6875rem;font-weight:500;letter-spacing:.06em;color:var(--accent);margin-bottom:.3rem}.word-proper-noun-text{margin:0;font-size:.8125rem;line-height:1.7;color:var(--text-secondary, var(--text-muted))}.vocab-item--user-lookup{border-left:2px solid var(--accent, #7c6fcd);padding-left:.4rem}.vocab-user-badge{display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.04em;color:var(--accent, #7c6fcd);background:color-mix(in srgb,var(--accent, #7c6fcd) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent, #7c6fcd) 30%,transparent);border-radius:3px;padding:.05rem .3rem;vertical-align:middle;margin-left:.25rem;margin-right:.1rem}.vocab-detail-regenerate-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.75rem;padding:.2rem .6rem;font-size:.72rem;color:var(--text-muted);background:transparent;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;cursor:pointer;opacity:.65;transition:opacity .15s}.vocab-detail-regenerate-btn:hover{opacity:1;color:var(--accent, #7c6fcd);border-color:var(--accent, #7c6fcd)}.conjugation-tense{font-size:.6875rem;font-weight:500;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.35rem}.conjugation-table{width:100%;border-collapse:collapse;font-size:.875rem}.conjugation-table th{width:38%;padding:.1rem .4rem .1rem 0;text-align:left;font-weight:500;color:var(--text-muted);vertical-align:top}.conjugation-table td{padding:.1rem 0;color:var(--text);font-family:var(--font-latin);font-size:.9375rem;font-weight:500}.section--conjugations .section-content{padding-top:.25rem}.panel-grammar-analysis .grammar-analysis-block{margin-bottom:1rem}.panel-grammar-analysis .grammar-analysis-block:last-child{margin-bottom:0}.panel-grammar-analysis .grammar-analysis-label{font-size:.6875rem;font-weight:500;letter-spacing:.1em;color:var(--text);margin-bottom:.35rem}.panel-grammar-analysis .grammar-analysis-text{margin:0;font-size:.8125rem;line-height:1.75;color:var(--text-muted)}.grammar-sentence-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, rgba(0,0,0,.08))}.grammar-sentence-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.grammar-sentence-header{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.55rem}.grammar-sentence-num{flex-shrink:0;min-width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff;background:var(--accent, #7c6fcd);border-radius:50%;padding:0 .2rem}.grammar-sentence-quote{font-size:.75rem;font-style:italic;color:var(--text-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 1.7rem)}.grammar-analysis-block--sub{margin-left:1.65rem;margin-bottom:.6rem}.grammar-analysis-block--sub:last-child{margin-bottom:0}.section-title--grammar{flex-wrap:wrap;gap:.5rem .75rem}.section-title--grammar .section-title-text{flex-shrink:0}.syntax-legend{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;font-size:.8125rem;font-weight:500;letter-spacing:.12em}.syntax-legend-btn{font:inherit;letter-spacing:inherit;color:var(--text-muted);background:transparent;border:none;padding:.1rem .2rem;cursor:pointer;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease,opacity .15s ease}.syntax-legend-btn.is-on{color:var(--text);border-bottom-color:var(--accent)}.syntax-legend-btn:not(.is-on){opacity:.45}.syntax-legend-btn:hover{color:var(--text)}.syntax-legend-btn--main.is-on{text-decoration:underline;text-underline-offset:.2em}.syntax-legend-btn--bracket.is-on:before{content:"["}.syntax-legend-btn--bracket.is-on:after{content:"]"}.syntax-legend-btn--clause.is-on:before{content:"("}.syntax-legend-btn--clause.is-on:after{content:")"}.source-text .syntax-main{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}body.syntax-off-main .source-text .syntax-main{font-weight:inherit;text-decoration:none}.source-text .syntax-clause{font-style:italic}body.syntax-off-clause .source-text .syntax-clause{font-style:normal}body.syntax-off-clause .source-text .syntax-clause-open,body.syntax-off-clause .source-text .syntax-clause-close{display:none}.source-text .syntax-bracket{font-weight:inherit;text-decoration:none;font-style:normal}body.syntax-off-bracket .source-text .syntax-bracket-open,body.syntax-off-bracket .source-text .syntax-bracket-close{display:none}body.panel-open .box-left .source-text.paragraph-interactive.active .syntax-main,body.panel-open .box-left .sentence.active .syntax-main{text-decoration-color:var(--accent, currentColor)}body.syntax-off-main.panel-open .box-left .source-text.paragraph-interactive.active .syntax-main,body.syntax-off-main.panel-open .box-left .sentence.active .syntax-main{text-decoration:none}.syntax-hint-target{cursor:help}.syntax-hover-tip{position:fixed;z-index:200;max-width:min(280px,90vw);padding:.35rem .55rem;font-size:.75rem;line-height:1.45;letter-spacing:.02em;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 16px var(--shadow);pointer-events:none}.syntax-hover-tip[hidden]{display:none!important}.vocab-item:last-child{margin-bottom:0}@media(max-width:768px){:root{--panel-w: 100vw;--col-gap: 0;--para-gap: 32px}.panel-resize-handle{display:none}body[data-view=reading].panel-open .reading-area{margin-right:0}body[data-view=reading].panel-open.panel-dock-left .reading-area{margin-left:0}.home-area,.reading-area{padding:2rem 1.125rem 3.5rem}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .reading-area{padding-top:1.25rem;padding-bottom:.75rem}body.chinese-vertical-layout.chinese-vertical-flow-horizontal .bilingual-flow{height:calc(100dvh - var(--header-h) - 9rem)}.home-area{min-height:calc(100vh - var(--header-h))}.header{padding:0 1.125rem}.header-utility-cluster{gap:.25rem}.reading-mode-toggles{margin:0;padding:0 .1rem}.site-hall-nav{display:none}.lang-btn{font-size:.625rem;padding:.32rem .5rem}#foreignLangCluster #rightLangSelect{display:none}.ai-translate-btn{font-size:.625rem;padding:.32rem .55rem}.paragraph-row.bilingual-row{grid-template-columns:1fr;gap:.875rem}body:not(.translation-pending) .paragraph-row.bilingual-row{grid-template-columns:1fr}.box-right{padding-bottom:12px;border-bottom:1px dashed var(--border)}.paragraph-row:last-child .box-right{border-bottom:none;padding-bottom:0}.bookshelf-wrap{--shelf-delete-w: 108px;--shelf-delete-gap: 1rem;--shelf-delete-extend-y: 2.25rem}body.shelf-drag-active .shelf-delete-zone{flex:0 0 var(--shelf-delete-w);width:var(--shelf-delete-w)}body.shelf-drag-active .shelf-delete-zone--left{margin-right:var(--shelf-delete-gap)}.browse-lang-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:1rem;-webkit-overflow-scrolling:touch}.browse-book-grid{gap:2rem 2.25rem}body.shelf-drag-active .shelf-delete-zone--right{margin-left:var(--shelf-delete-gap)}.shelf-delete-icon{width:1.75rem;height:1.75rem}}.settings-version-label{margin:1.25rem 0 0;padding-top:.75rem;border-top:1px solid var(--border);font-size:.6875rem;letter-spacing:.04em;color:var(--text-light);text-align:center;-webkit-user-select:none;user-select:none;cursor:default}.admin-area{padding:1.5rem 2rem 3rem;min-height:calc(100vh - var(--header-h))}.admin-page{display:flex;flex-direction:column;min-height:calc(100vh - var(--header-h) - 3rem);width:100%;max-width:100%}.admin-page--wide{max-width:100%}.admin-header-row{display:flex;align-items:flex-end;justify-content:space-between;width:100%;margin:0 0 .75rem}.admin-header-left{display:flex;flex-direction:column}.admin-back-btn{margin:0;padding:0;border:none;background:none;font-family:"Noto Serif SC",serif;font-size:.8125rem;letter-spacing:.08em;color:var(--text-light);cursor:pointer;transition:color .2s;white-space:nowrap}.admin-back-btn:hover,.admin-back-btn:focus-visible{color:var(--text);outline:none}.site-hall--admin{letter-spacing:.1em}.admin-label{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .375rem}.admin-title{font-family:"Noto Serif SC",serif;font-size:1.25rem;font-weight:500;margin:0;color:var(--text)}.admin-desc{font-size:.8125rem;line-height:1.6;color:var(--text-muted);margin:0 0 1.25rem}.admin-field-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.375rem}.admin-input{width:100%;box-sizing:border-box;padding:.625rem .75rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.875rem;margin-bottom:.875rem}.admin-primary-btn,.admin-secondary-btn{font-family:"Noto Serif SC",serif;font-size:.8125rem;border-radius:4px;cursor:pointer;border:1px solid var(--border);padding:.625rem 1rem}.admin-primary-btn{width:100%;background:var(--text);color:var(--bg-panel);border-color:var(--text)}.admin-primary-btn:disabled,.admin-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.admin-actions{display:flex;gap:.625rem;margin-top:.75rem}.admin-secondary-btn{flex:1;background:transparent;color:var(--text)}.admin-session-hint{font-size:.8125rem;color:var(--text);margin:0}.admin-result{margin:1rem 0 0;padding:.75rem;border-radius:4px;background:var(--bg-soft);border:1px solid var(--border);font-size:.6875rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.admin-status{margin:1rem 0 0;font-size:.75rem;color:var(--text-muted)}.admin-status--error{color:#b45309}#adminStepActive{display:flex;flex-direction:column;flex:1;min-height:0}.admin-tabs{display:flex;gap:.5rem;margin:.75rem 0 1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.admin-tab{border:none;background:none;font-family:"Noto Serif SC",serif;font-size:.8125rem;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;border-radius:4px}.admin-tab--active{color:var(--text);background:var(--bg-soft)}.admin-panel{flex:1;min-height:0;overflow:hidden}.admin-library-layout{display:grid;grid-template-columns:200px 1fr;gap:1rem;height:min(calc(100vh - var(--header-h) - 15rem),720px);min-height:320px}.admin-library-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);padding-right:.75rem}.admin-library-search{margin-bottom:.625rem;font-size:.8125rem;padding:.5rem .625rem}.admin-book-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.admin-book-list-row{display:flex;align-items:stretch;gap:.25rem}.admin-book-item{flex:1 1 auto;min-width:0;text-align:left;border:none;background:none;font-family:"Noto Serif SC",serif;font-size:.8125rem;padding:.45rem .5rem;border-radius:4px;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:.375rem}.admin-book-delist-btn{flex:0 0 auto;border:1px solid color-mix(in srgb,#a85858 35%,var(--border));background:transparent;color:#a85858;font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.06em;padding:.35rem .4rem;border-radius:4px;cursor:pointer;align-self:center;transition:background .2s,color .2s,border-color .2s}.admin-book-delist-btn:hover,.admin-book-delist-btn:focus-visible{background:#a858581a;outline:none}.admin-book-item:hover,.admin-book-item--active{background:var(--bg-soft)}.admin-book-draft{font-size:.625rem;color:#b45309;flex-shrink:0}.admin-library-main{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.admin-library-placeholder{font-size:.8125rem;color:var(--text-muted);margin:0}.admin-library-placeholder--error{color:#b45309}.admin-submissions-sidebar-label{margin:0 0 .5rem;font-size:.75rem;color:var(--text-muted)}.admin-submission-detail{display:flex;flex-direction:column;gap:.875rem}.admin-submission-title{margin:0;font-size:1rem;font-weight:600}.admin-submission-meta{margin:0;display:grid;gap:.5rem;font-size:.8125rem}.admin-submission-meta>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem}.admin-submission-meta dt{margin:0;color:var(--text-muted)}.admin-submission-meta dd{margin:0;word-break:break-all}.admin-submission-review-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.admin-submission-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-published-book-summary{margin:0 0 1rem;font-size:.8125rem;color:var(--text-light)}.admin-published-variant-groups{display:flex;flex-direction:column;gap:1rem}.admin-published-chapter-group{border:1px solid var(--border);border-radius:6px;overflow:hidden}.admin-published-chapter-title{margin:0;padding:.55rem .75rem;font-size:.8125rem;font-weight:500;background:color-mix(in srgb,var(--bg-panel) 80%,transparent);border-bottom:1px solid var(--border)}.admin-published-variant-list{list-style:none;margin:0;padding:0}.admin-published-variant-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-top:1px solid var(--border)}.admin-published-variant-row:first-child{border-top:none}.admin-published-variant-row__body{min-width:0}.admin-published-variant-row__label{margin:0 0 .2rem;font-size:.8125rem;color:var(--text)}.admin-published-variant-row__meta{margin:0;font-size:.6875rem;color:var(--text-light)}.admin-book-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-book-title{margin:0 0 .25rem;font-size:1rem;font-weight:500}.admin-book-meta{margin:0;font-size:.75rem;color:var(--text-muted)}.admin-preview-hint-inline{margin:.375rem 0 0;width:100%;flex-basis:100%}.admin-book-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.admin-primary-btn--inline{width:auto}.admin-chapter-bar{display:flex;flex-wrap:wrap;gap:.375rem}.admin-chapter-btn{border:1px solid var(--border);background:transparent;border-radius:999px;font-size:.6875rem;padding:.25rem .625rem;cursor:pointer;color:var(--text-muted)}.admin-chapter-btn--active,.admin-chapter-btn:hover{color:var(--text);border-color:var(--text)}.admin-chapter-editor{flex:1;min-height:180px;display:flex;flex-direction:column;gap:.5rem}.admin-editor-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.admin-editor-source{font-size:.75rem;color:var(--text-muted)}.admin-json-editor{flex:1;min-height:220px;width:100%;box-sizing:border-box;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.6875rem;line-height:1.45;border:1px solid var(--border);border-radius:4px;padding:.625rem;background:var(--bg);color:var(--text);resize:vertical}.admin-editor-mode{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.admin-editor-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.admin-chapter-bar--sub{margin-bottom:.5rem;max-height:88px;overflow-y:auto}.admin-seg-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.625rem}.admin-seg-page{font-size:.75rem;color:var(--text-muted)}.admin-seg-list{display:flex;flex-direction:column;gap:.625rem;max-height:min(42vh,380px);overflow-y:auto}.admin-seg-card{border:1px solid var(--border);border-radius:6px;padding:.625rem;background:var(--bg-soft)}.admin-seg-head{font-size:.6875rem;color:var(--text-muted);margin-bottom:.5rem;font-family:ui-monospace,Consolas,monospace}.admin-seg-field{display:block;margin-bottom:.5rem}.admin-seg-field-label{display:block;font-size:.6875rem;color:var(--text-muted);margin-bottom:.25rem}.admin-seg-textarea{width:100%;box-sizing:border-box;font-family:inherit;font-size:.8125rem;line-height:1.5;border:1px solid var(--border);border-radius:4px;padding:.5rem;background:var(--bg-panel);color:var(--text);resize:vertical}.admin-info-form{display:flex;flex-direction:column;gap:.75rem}.admin-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.admin-info-grid .admin-field-label{margin:0}.admin-info-subtitle{margin:0;font-size:.875rem;font-weight:500}.admin-info-chapters{display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto}.admin-info-chapter-row{display:grid;grid-template-columns:2rem auto 1fr 1fr auto;gap:.375rem;align-items:center}.admin-chapter-move-group{display:flex;gap:.125rem}.admin-chapter-move[disabled]{opacity:.35;cursor:not-allowed}.admin-info-chapter-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.375rem}.admin-icon-btn{border:1px solid var(--border);background:transparent;border-radius:4px;width:1.75rem;height:1.75rem;cursor:pointer;color:var(--text-muted);line-height:1}.admin-icon-btn:hover{color:#b45309;border-color:#b45309}.admin-preview-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.625rem 1rem;background:#282623f0;color:#f5f0e8;border-top:1px solid rgba(255,255,255,.12)}.admin-preview-bar[hidden]{display:none!important}body.admin-preview-active .chapter-nav{margin-bottom:3.25rem}.admin-preview-label{font-size:.8125rem;font-weight:500}.admin-preview-hint{font-size:.75rem;opacity:.75}.admin-preview-actions{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}.admin-preview-bar .admin-secondary-btn{color:#f5f0e8;border-color:#ffffff40}.admin-preview-bar .admin-primary-btn{background:#f5f0e8;color:#282623;border-color:#f5f0e8}.admin-preview-status{width:100%;margin:0;font-size:.75rem;opacity:.85}.admin-preview-status--error{color:#fbbf24}.admin-preview-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150;opacity:0;pointer-events:none;transition:opacity var(--transition)}.admin-preview-edit-overlay.visible{opacity:1;pointer-events:auto}.admin-preview-edit-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(520px,92vw);max-height:min(80vh,640px);overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1.25rem;z-index:160;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.admin-preview-edit-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}body.admin-preview-active .col-text.paragraph-interactive{cursor:text}body.admin-preview-active .col-text.paragraph-interactive:hover{outline:1px dashed rgba(180,83,9,.45);outline-offset:2px}body.admin-preview-active .analysis-panel,body.admin-preview-active .panel-overlay.visible{display:none!important}body.admin-preview-active.panel-open .reading-area{margin-right:0!important;margin-left:0!important}body.admin-preview-active.panel-open{overflow:auto}.admin-info-chapter-num{font-size:.75rem;color:var(--text-muted);text-align:center}.admin-info-input{margin:0;font-size:.75rem;padding:.4rem .5rem}.admin-danger-btn{border:1px solid #b91c1c;background:transparent;color:#b91c1c;border-radius:4px;padding:.5rem .875rem;font-size:.8125rem;cursor:pointer;transition:background var(--transition),color var(--transition)}.admin-danger-btn:hover{background:#b91c1c;color:#fff}.admin-draft-snapshots{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.admin-snapshot-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.375rem}.admin-snapshot-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.8125rem}.admin-snapshot-time{font-variant-numeric:tabular-nums}.admin-snapshot-reason{color:var(--text-muted)}.admin-snapshot-restore{flex:0 0 auto;padding:.25rem .625rem;font-size:.75rem}.admin-audit-log{margin-top:1rem}.admin-audit-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.admin-audit-title{margin:0;font-size:.9375rem;font-weight:500}.admin-audit-table-wrap{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:4px}.admin-audit-table{width:100%;border-collapse:collapse;font-size:.75rem}.admin-audit-table th,.admin-audit-table td{padding:.45rem .625rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-audit-table th{position:sticky;top:0;background:var(--bg-soft);font-weight:500;z-index:1}.admin-audit-time{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-audit-meta{color:var(--text-muted);word-break:break-word}.admin-audit-empty{text-align:center;color:var(--text-muted);padding:1.5rem!important}.admin-delist-log{margin-bottom:1.25rem}.admin-delist-log-section{margin-bottom:.5rem}.admin-delist-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d3a3600;pointer-events:none;z-index:140;transition:background var(--transition)}.admin-delist-overlay.visible{background:#3d3a3652;pointer-events:auto}[data-theme=dark] .admin-delist-overlay.visible{background:#00000080}.admin-delist-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(420px,92vw);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px var(--shadow);z-index:141;opacity:0;pointer-events:none;padding:1.75rem 1.75rem 1.5rem;transition:opacity var(--transition),transform var(--transition)}.admin-delist-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.admin-delist-label{margin:0 0 .5rem;font-size:.6875rem;letter-spacing:.2em;color:var(--text-light)}.admin-delist-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:500;color:var(--text)}.admin-delist-book-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text);word-break:break-word}.admin-delist-book-meta{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted);word-break:break-all}.admin-delist-desc{margin:0 0 1rem;font-size:.8125rem;line-height:1.65;color:var(--text-muted)}.admin-delist-form{display:flex;flex-direction:column;gap:.875rem}.admin-delist-field{display:flex;flex-direction:column;gap:.35rem}.admin-delist-field-label{font-size:.75rem;color:var(--text-muted)}.admin-delist-textarea{width:100%;box-sizing:border-box;min-height:4.5rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:"Noto Serif SC",serif;font-size:.8125rem;line-height:1.55;resize:vertical}.admin-delist-textarea:focus{outline:none;border-color:#a85858;box-shadow:0 0 0 2px #a8585826}.admin-delist-actions{display:flex;justify-content:flex-end;gap:.625rem}@media(max-width:720px){.admin-info-grid{grid-template-columns:1fr}}.admin-stats-layout{display:flex;flex-direction:column;gap:1.5rem;padding:.25rem 0 1.5rem}.admin-stats-toolbar{display:flex;align-items:center;gap:.75rem}.admin-stats-section{display:flex;flex-direction:column;gap:.75rem}.admin-stats-section-title{margin:0;font-family:"Noto Serif SC",serif;font-size:.875rem;font-weight:500;color:var(--text-muted);letter-spacing:.05em;border-bottom:1px solid var(--border);padding-bottom:.4rem}.admin-stats-cards{display:flex;flex-wrap:wrap;gap:.75rem}.admin-stats-card{display:flex;flex-direction:column;gap:.25rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:.875rem 1.125rem;min-width:120px}.admin-stats-card__value{font-family:"Noto Serif SC",serif;font-size:1.5rem;font-weight:600;color:var(--text);line-height:1.2}.admin-stats-card__value--highlight{color:var(--accent, #4e8a6a)}.admin-stats-card__value--super{color:#5843a0}.admin-stats-card__value--paid{color:#7e6e40}.admin-stats-card__value--bonus{color:#3a7a52}.admin-stats-card__value--grand{color:#9b6a18}.admin-stats-card__value--bachelor{color:#7a6a1a}.admin-stats-card__label{font-size:.75rem;color:var(--text-muted);letter-spacing:.03em}.admin-stats-user-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-stats-tier-group{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.admin-stats-tier-btn{background:none;border:none;border-right:1px solid var(--border);padding:.35rem .75rem;font-family:"Noto Serif SC",serif;font-size:.8125rem;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.admin-stats-tier-btn:last-child{border-right:none}.admin-stats-tier-btn--active{background:var(--bg-soft);color:var(--text)}.admin-stats-search{flex:1;min-width:160px;max-width:320px;font-size:.8125rem;padding:.35rem .625rem}.admin-stats-user-info{margin:0;font-size:.75rem;color:var(--text-muted)}.admin-stats-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:4px}.admin-stats-table{width:100%;border-collapse:collapse;font-size:.8125rem}.admin-stats-th{text-align:left;padding:.5rem .75rem;background:var(--bg-soft);border-bottom:1px solid var(--border);font-weight:500;color:var(--text-muted);white-space:nowrap}.admin-stats-td{padding:.45rem .75rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.admin-stats-user-row:last-child .admin-stats-td{border-bottom:none}.admin-stats-user-row:hover .admin-stats-td{background:var(--bg-hover, var(--bg-soft))}.admin-stats-td--email{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-stats-td--mono{font-family:"Noto Serif SC",serif;font-size:.78rem}.admin-stats-td--member{white-space:nowrap;font-size:.78rem}.admin-stats-member{color:var(--text)}.admin-stats-member--permanent{color:#7e6e40}.admin-stats-member--expired{color:#a85858}.admin-stats-badge{display:inline-block;padding:.15rem .5rem;border-radius:99px;font-size:.7rem;font-weight:500;letter-spacing:.04em}.admin-stats-badge--real{background:#f5edd8;color:#7e6e40}.admin-stats-badge--bonus{background:#e6f4ec;color:#3a7a52}.admin-stats-badge--super{background:#e5e0f5;color:#5843a0}.admin-stats-badge--grand{background:#fdf0e0;color:#9b6a18}.admin-stats-badge--bachelor{background:#faf5e4;color:#7a6a1a}.admin-stats-badge--free{background:var(--bg-soft);color:var(--text-muted)}.admin-stats-pager{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.admin-stats-pager-btn{min-width:80px}.admin-stats-pager-label{font-size:.8125rem;color:var(--text-muted)}.admin-stats-loading{margin:0;padding:.75rem;font-size:.8125rem;color:var(--text-muted);text-align:center}.admin-stats-error{margin:0;padding:.75rem;font-size:.8125rem;color:#a85858;text-align:center}.admin-stats-empty{padding:1rem .75rem;font-size:.8125rem;color:var(--text-muted);text-align:center}.admin-stats-card--clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.admin-stats-card--clickable:hover{border-color:var(--accent, #4e8a6a);box-shadow:0 1px 6px #00000014}.admin-stats-online-list{display:flex;flex-wrap:wrap;gap:.4rem .75rem;max-height:260px;overflow-y:auto;padding:.5rem 0}.admin-stats-online-item{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;background:var(--bg-panel)}.admin-stats-online-handle{font-family:"Noto Serif SC",serif;color:var(--text)}.admin-stats-online-time{color:var(--text-muted);font-size:.7rem}.admin-stats-user-row--notice .admin-stats-td:nth-child(4){position:relative}.admin-stats-user-row--notice .admin-stats-td:first-child:after{content:"馃摙";font-size:.65rem;margin-left:.25rem}.admin-stats-rename-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:.15rem .5rem;font-family:"Noto Serif SC",serif;font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.admin-stats-rename-btn:hover{background:#fdf0f0;border-color:#c87878;color:#a85858}body[data-view=atlas] .header{display:none}body[data-view=atlas] .main{padding-top:0}body[data-view=atlas] #atlasView{top:0}.atlas-area{display:flex;flex-direction:column;height:100vh;overflow:hidden}.atlas-header{flex-shrink:0;height:var(--header-h);padding:0 2.5rem;display:flex;align-items:center;gap:1.2rem;background:var(--bg);border-bottom:1px solid var(--border)}.atlas-back-btn{background:none;border:none;font-family:"Noto Serif SC",serif;font-size:.82rem;color:var(--text-muted);cursor:pointer;padding:0;white-space:nowrap}.atlas-back-btn:hover{color:var(--text)}.atlas-title{font-family:"Noto Serif SC",serif;font-size:1.1rem;font-weight:500;margin:0;white-space:nowrap}.atlas-lead{font-size:.82rem;color:var(--text-muted);margin:0;flex:1;min-width:0}.atlas-header-actions{position:relative;flex-shrink:0;margin-left:auto;display:flex;align-items:flex-start;gap:.4rem}.atlas-settings-btn{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.4rem .7rem .4rem .55rem;font-family:"Noto Serif SC",serif;font-size:.6875rem;font-weight:400;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease}.atlas-settings-btn__icon{width:14px;height:14px;flex-shrink:0;opacity:.85}.atlas-settings-btn__label{line-height:1}.atlas-settings-btn:hover,.atlas-settings-btn:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-soft);outline:none}.atlas-settings-btn[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.atlas-settings-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:200;width:min(20rem,calc(100vw - 2rem));padding:.85rem 1rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000014}.atlas-contribute-panel,.atlas-realm-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:201;width:min(22rem,calc(100vw - 2rem));max-height:min(70vh,32rem);overflow:auto;padding:.85rem 1rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000014}.atlas-map--realm-edit{cursor:crosshair}.atlas-realm-ref-note{margin:0 0 .65rem;font-size:.6875rem;line-height:1.45;color:var(--text-muted)}.atlas-realm-divider{margin:.65rem 0;border:none;border-top:1px solid var(--border)}.atlas-realm-draw-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.atlas-realm-draw-btn{flex:1 1 auto;min-width:5rem;margin:0;padding:.35rem .5rem;font-family:"Noto Serif SC",serif;font-size:.6875rem;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;cursor:pointer}.atlas-realm-draw-btn:hover:not(:disabled),.atlas-realm-draw-btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.atlas-realm-draw-btn:disabled{opacity:.45;cursor:not-allowed}.atlas-realm-draw-hint{margin:0 0 .65rem;font-size:.6875rem;color:var(--text-muted)}.atlas-realm-list{margin-bottom:.65rem}.atlas-realm-list-empty{margin:0;font-size:.6875rem;color:var(--text-muted)}.atlas-realm-list-item{display:flex;align-items:center;gap:.45rem;padding:.3rem 0;font-size:.75rem}.atlas-realm-list-item__swatch{width:.75rem;height:.75rem;border-radius:2px;flex-shrink:0;opacity:.85}.atlas-realm-list-item__label{flex:1}.atlas-realm-list-item__remove{margin:0;padding:0 .25rem;font-size:1rem;line-height:1;color:var(--text-muted);background:none;border:none;cursor:pointer}.atlas-realm-list-item__remove:hover{color:var(--accent)}.admin-atlas-realm-swatch{display:inline-block;width:.65rem;height:.65rem;margin-right:.35rem;border-radius:2px;vertical-align:middle}.atlas-contribute-tabs{display:flex;gap:.35rem;margin-bottom:.65rem}.atlas-contribute-tab{flex:1;padding:.35rem .5rem;font-family:"Noto Serif SC",serif;font-size:.66rem;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;cursor:pointer}.atlas-contribute-tab--active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.atlas-contribute-field{display:block;margin-bottom:.55rem}.atlas-contribute-field--inline{display:flex;align-items:center;gap:.4rem;font-size:.66rem;color:var(--text-muted)}.atlas-contribute-field__label{display:block;margin-bottom:.2rem;font-size:.64rem;color:var(--text-muted)}.atlas-contribute-input{width:100%;box-sizing:border-box;padding:.35rem .45rem;font-family:inherit;font-size:.68rem;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:4px}.atlas-contribute-textarea{resize:vertical;min-height:2.5rem}.atlas-contribute-submit{width:100%;margin-top:.35rem;padding:.45rem .75rem;font-family:"Noto Serif SC",serif;font-size:.68rem;color:var(--bg);background:var(--accent);border:none;border-radius:4px;cursor:pointer}.atlas-contribute-submit:disabled{opacity:.6;cursor:not-allowed}.atlas-contribute-status{margin:.35rem 0 0;font-size:.64rem;line-height:1.5;color:var(--accent)}.atlas-contribute-status--error{color:#b44}.admin-atlas-block,.admin-atlas-quote,.admin-atlas-source{margin:.75rem 0 0;font-size:.78rem;line-height:1.6}.admin-atlas-quote{padding-left:.75rem;border-left:3px solid var(--border);color:var(--text-muted)}.admin-atlas-names{margin:.5rem 0 0;padding-left:1.1rem;font-size:.78rem}.atlas-settings-panel__title{margin:0 0 .35rem;font-family:"Noto Serif SC",serif;font-size:.78rem;font-weight:500;color:var(--text)}.atlas-settings-panel__lead{margin:0 0 .65rem;font-size:.66rem;line-height:1.55;color:var(--text-muted)}.atlas-settings-layers{display:flex;flex-direction:column}.atlas-settings-boundary-note{margin:.55rem 0 0;padding-top:.55rem;border-top:1px solid var(--border);font-size:.64rem;line-height:1.55;color:var(--text-muted)}.atlas-settings-option{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 .55rem;cursor:pointer}.atlas-settings-option:last-child{margin-bottom:0}.atlas-settings-option--disabled{opacity:.45;cursor:not-allowed}.atlas-settings-option--disabled .atlas-settings-checkbox{cursor:not-allowed}.atlas-settings-checkbox{margin-top:.15rem;flex-shrink:0}.atlas-settings-option__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.atlas-settings-option__label{font-family:"Noto Serif SC",serif;font-size:.78rem;color:var(--text);line-height:1.4}.atlas-settings-option__hint{font-size:.68rem;color:var(--text-muted);line-height:1.5}.atlas-timeline{flex-shrink:0;height:84px;background:var(--bg-secondary, #f8f6f0);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;padding:0 1rem;overflow:hidden;-webkit-user-select:none;user-select:none;cursor:default}.atlas-timeline-axis-labels{flex-shrink:0;width:1.6em;display:flex;flex-direction:column;gap:4px;align-self:center;pointer-events:none}.atlas-timeline-axis-label{display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;font-size:.62rem;line-height:1.3;color:var(--text-muted);text-align:center;opacity:.75}.atlas-timeline-axis-label:first-child{height:26px}.atlas-timeline-axis-label:last-child{height:28px}.atlas-timeline-tracks{flex:1;display:block;position:relative;overflow:hidden;cursor:grab}.atlas-timeline-pan-layer{display:flex;flex-direction:column;gap:4px;position:relative;width:100%;transform:translateZ(0);backface-visibility:hidden}.atlas-timeline-pan-layer--dragging{will-change:transform}.atlas-timeline-tracks.atlas-timeline-tracks--dragging,.atlas-timeline-tracks.atlas-timeline-tracks--dragging *{cursor:grabbing}.atlas-timeline-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.atlas-timeline-gridline{position:absolute;top:0;bottom:0;width:1px;transform:translate(-50%);background:#8b73551f}.atlas-timeline-bar{position:relative;border-radius:4px}.atlas-timeline-bar--gregorian{height:26px;background:var(--bg, #fff);border:1px solid var(--border);overflow:visible;z-index:2;cursor:grab}.atlas-timeline-bar--gregorian.atlas-timeline-bar--zoomed{border-color:#8b735588;box-shadow:inset 0 0 0 1px #8b735522}.atlas-gregorian-axis{position:absolute;top:0;right:0;bottom:0;left:0}.atlas-gregorian-axis__rail{position:absolute;left:0;right:0;bottom:5px;height:2px;background:#8b7355;border-radius:1px;pointer-events:none}.atlas-gregorian-axis__cap{position:absolute;bottom:-3px;left:0;width:2px;height:8px;background:#8b7355;border-radius:1px}.atlas-gregorian-axis__cap--end{left:auto;right:0}.atlas-timeline-gregorian{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.atlas-gregorian-tick{position:absolute;bottom:5px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}.atlas-gregorian-tick__mark{width:1px;height:5px;background:#8b7355;opacity:.65}.atlas-gregorian-tick__mark--major{height:7px;width:1.5px;opacity:1}.atlas-gregorian-tick__label{font-family:"Noto Serif SC",serif;font-size:.58rem;line-height:1.1;color:var(--text-muted);white-space:nowrap;opacity:.9;margin-bottom:2px}.atlas-gregorian-tick--minor .atlas-gregorian-tick__mark{height:4px;opacity:.45}.atlas-timeline-bar--eras{height:28px;background:var(--bg, #fff);border:1px solid var(--border);overflow:hidden;z-index:2}.atlas-timeline-eras{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;z-index:2}.atlas-timeline-era{position:absolute;height:100%;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;box-sizing:border-box}.atlas-era-label{pointer-events:none;opacity:.7;padding:0 2px}.atlas-timeline-era--compact .atlas-era-label{display:none}.atlas-timeline-events{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.atlas-kf-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#5a7a5a;border:2px solid #fff;padding:0;cursor:pointer;pointer-events:all;transition:transform .1s,background .1s;box-shadow:0 0 0 1px #5a7a5a44}.atlas-kf-dot:hover{background:#3a5a3a;transform:translate(-50%,-50%) scale(1.4)}.atlas-timeline-cursor{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);background:#c05050;pointer-events:none;z-index:12}.atlas-timeline-year{font-family:"Noto Serif SC",serif;font-size:.82rem;color:var(--text-muted);white-space:nowrap;min-width:80px;text-align:right}.atlas-map-wrap{flex:1;display:flex;overflow:hidden;position:relative}.atlas-map{flex:1;position:relative;background:#e8ede8;overflow:hidden;z-index:1;min-width:0}.atlas-map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem}.atlas-map-placeholder__text{font-family:"Noto Serif SC",serif;font-size:1.4rem;font-weight:500;color:#4a6a4a;margin:0}.atlas-map-placeholder__sub{font-size:.88rem;color:#7a9a7a;margin:0}.atlas-map-placeholder__hint{font-size:.78rem;color:#9ab09a;margin:0;border:1px dashed #9ab09a;padding:.3rem .9rem;border-radius:99px}.atlas-sidebar{width:320px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg, #fff);display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:20}.atlas-sidebar[hidden]{display:none!important}.atlas-sidebar__head{flex-shrink:0;display:flex;justify-content:flex-end;position:relative;z-index:2}.atlas-sidebar-close{background:none;border:none;font-size:1rem;color:var(--text-muted);cursor:pointer;padding:.5rem .8rem;line-height:1;position:relative;z-index:3}.atlas-sidebar-close:hover{color:var(--text)}.atlas-sidebar-body{flex:1;overflow-y:auto;padding:0 1rem 1.5rem}.atlas-sidebar-title{font-family:"Noto Serif SC",serif;font-size:1rem;font-weight:500;margin:0 0 .4rem;color:var(--text)}.atlas-sidebar-upper{margin-bottom:.4rem}.atlas-sidebar-modern{font-size:.78rem;color:var(--text-muted);margin:0 0 .5rem}.atlas-sidebar-event-head{font-size:.78rem;color:#5a6a5a;margin:0 0 .45rem}.atlas-sidebar-summary{font-size:.88rem;line-height:1.8;color:var(--text);margin:0 0 .8rem}.atlas-sidebar-source{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.atlas-sidebar-source-label{font-size:.72rem;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem}.atlas-sidebar-more-events{margin-top:1rem;padding-top:.85rem;border-top:1px dashed var(--border)}.atlas-sidebar-more-event{margin-bottom:.9rem}.atlas-sidebar-more-event:last-child{margin-bottom:0}.atlas-source-quote{font-size:.82rem;line-height:1.9;color:var(--text-muted);border-left:3px solid #8b7355;margin:0 0 .3rem;padding-left:.75rem}.atlas-source-book{font-size:.75rem;color:#8b7355;margin:0 0 .6rem;text-align:right}.atlas-sidebar-note{font-size:.82rem;color:var(--text-muted);line-height:1.7;margin:0 0 .6rem}#atlasMap .amap-container,#atlasMap{width:100%;height:100%}#atlasMap .amap-logo,#atlasMap .amap-copyright{display:none!important;opacity:0!important;visibility:hidden!important}html:not([data-art-gallery-off="0"]) #hallBtnArtGallery{display:none!important}.art-gallery-area{display:flex;flex-direction:column;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));overflow:hidden;background:var(--bg);--art-gallery-gutter: 3.5rem}.art-gallery-header{flex-shrink:0;padding:0 var(--art-gallery-gutter) .75rem;display:flex;flex-direction:column;gap:.65rem;background:var(--bg);border-bottom:1px solid var(--border)}.art-gallery-header-top{min-height:var(--header-h);display:flex;align-items:center;gap:1.2rem}.art-gallery-title{font-family:"Noto Serif SC",serif;font-size:1.1rem;font-weight:500;margin:0;white-space:nowrap;flex-shrink:0}.art-gallery-lead{font-size:.82rem;color:var(--text-muted);margin:0;flex:1;min-width:0;line-height:1.5}.art-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.art-gallery-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.art-gallery-toolbar-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto;flex-shrink:0}.art-gallery-refine-root,.art-gallery-sort-root{position:relative}.art-gallery-sort{position:relative;margin-left:auto}.art-gallery-sort-trigger{display:inline-flex;align-items:center;gap:.2rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.2rem .62rem;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;line-height:1.4;transition:color .2s,border-color .2s,background .2s}.art-gallery-sort-trigger:hover,.art-gallery-sort-trigger[aria-expanded=true]{color:var(--text);border-color:#8eb4c973;background:var(--accent-soft)}.art-gallery-sort-trigger__caret{font-size:.62rem;opacity:.75}.art-gallery-sort-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:6.75rem;padding:.25rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);box-shadow:0 8px 24px var(--shadow)}.art-gallery-sort-menu[hidden]{display:none}.art-gallery-sort-option{display:block;width:100%;border:none;background:transparent;color:var(--text-muted);border-radius:4px;padding:.38rem .55rem;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;text-align:left;transition:color .2s,background .2s}.art-gallery-sort-option:hover,.art-gallery-sort-option--active{color:var(--text);background:var(--accent-soft)}.art-gallery-refine-panel{position:absolute;top:calc(100% + .35rem);right:0;z-index:45;width:min(36rem,calc(100vw - 2rem));padding:.65rem .75rem .55rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);box-shadow:0 10px 28px var(--shadow)}.art-gallery-refine-panel[hidden]{display:none}.art-gallery-refine-panel__body{display:flex;flex-direction:column;gap:.55rem}.art-gallery-refine-row{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:.55rem .75rem;align-items:start}.art-gallery-refine-row[hidden]{display:none}.art-gallery-refine-row__label{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;color:var(--text-muted);line-height:1.8;padding-top:.12rem;white-space:nowrap}.art-gallery-refine-row__options{display:flex;flex-wrap:wrap;gap:.3rem}.art-gallery-refine-option{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.18rem .55rem;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.04em;line-height:1.4;transition:color .2s,border-color .2s,background .2s}.art-gallery-refine-option:hover,.art-gallery-refine-option--active{color:var(--text);border-color:#8eb4c973;background:var(--accent-soft)}.art-gallery-refine-clear{display:block;width:100%;margin-top:.55rem;padding:.35rem .5rem;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;text-align:center;transition:color .2s}.art-gallery-refine-clear:hover{color:var(--text)}.art-gallery-body{flex:1;overflow:auto;padding:1.25rem var(--art-gallery-gutter) 2.5rem}.art-gallery-filter{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.2rem .62rem;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;line-height:1.4;transition:color .2s,border-color .2s,background .2s}.art-gallery-filter--active,.art-gallery-filter:hover{color:var(--text);border-color:#8eb4c973;background:var(--accent-soft)}.art-gallery-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start;width:100%}.art-gallery-layout:has(.art-gallery-detail:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.art-gallery-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.art-gallery-grid{display:grid;gap:.85rem;width:100%;min-height:0}.art-gallery-main>.art-gallery-grid{grid-template-columns:repeat(10,minmax(0,1fr))}@media(max-width:1200px){.art-gallery-main>.art-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:900px){.art-gallery-area{--art-gallery-gutter: 1.75rem}.art-gallery-header{padding:0 var(--art-gallery-gutter) .65rem;gap:.55rem}.art-gallery-header-top{flex-wrap:wrap;min-height:0;padding-top:.75rem;gap:.65rem}.art-gallery-lead{flex-basis:100%}.art-gallery-toolbar{gap:.55rem}.art-gallery-toolbar-actions{margin-left:0;width:100%;justify-content:flex-end}.art-gallery-refine-panel{right:0;left:auto;width:min(36rem,calc(100vw - var(--art-gallery-gutter) * 2))}.art-gallery-sort{margin-left:0}.art-gallery-body{padding:1rem var(--art-gallery-gutter) 2rem}.art-gallery-main>.art-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.art-gallery-layout:has(.art-gallery-detail:not([hidden])){grid-template-columns:1fr}.art-gallery-detail{order:-1}}.art-gallery-grid--picker{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:52vh;overflow:auto;padding-right:.25rem}.art-gallery-card{border:none;background:none;padding:0;text-align:left}.art-gallery-card__open,.art-gallery-grid--picker .art-gallery-card{display:flex;flex-direction:column;width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-panel);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.art-gallery-card__open:hover,.art-gallery-grid--picker .art-gallery-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px var(--shadow)}.art-gallery-card__thumb-wrap,.art-gallery-detail__thumb-wrap{position:relative;display:block;width:100%}.art-gallery-rights-badge{position:absolute;top:.35rem;right:.35rem;z-index:2;padding:.12rem .42rem;border-radius:999px;font-family:"Noto Serif SC",serif;font-size:.625rem;letter-spacing:.04em;line-height:1.3;pointer-events:none;box-shadow:0 1px 4px #0000002e}.art-gallery-rights-badge--restricted{background:#78342ceb;color:#fff}.art-gallery-card__thumb{display:block;width:100%;aspect-ratio:4 / 5;background-size:cover;background-position:center;background-color:#3d3a360f}.art-gallery-card__meta{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem .7rem}.art-gallery-card__title{font-size:.8125rem;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.art-gallery-card__artist{font-size:.6875rem;color:var(--text-muted)}.art-gallery-empty,.book-cover-picker-empty,.book-cover-picker-loading{color:var(--text-muted);padding:1rem 0}.art-gallery-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem 1rem;padding:.25rem 0 .5rem}.art-gallery-pager[hidden]{display:none}.art-gallery-pager-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.28rem .85rem;cursor:pointer;font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.06em;transition:color .2s,border-color .2s,background .2s}.art-gallery-pager-btn:hover:not(:disabled){color:var(--text);border-color:#8eb4c973;background:var(--accent-soft)}.art-gallery-pager-btn:disabled{opacity:.4;cursor:not-allowed}.art-gallery-pager-label{font-family:"Noto Serif SC",serif;font-size:.6875rem;letter-spacing:.04em;color:var(--text-muted)}.art-gallery-detail{position:sticky;top:1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);padding:1rem}.art-gallery-detail__close{border:none;background:none;color:var(--text-muted);cursor:pointer;float:right}.art-gallery-detail__thumb{width:100%;aspect-ratio:4 / 5;background-size:cover;background-position:center;border-radius:6px;margin-bottom:.75rem}.art-gallery-detail__rights--restricted{color:#a34b42;font-weight:500}.art-gallery-detail__title{font-size:1.05rem;margin:0 0 .25rem;line-height:1.45;word-break:break-word;overflow-wrap:anywhere}.art-gallery-detail__subtitle,.art-gallery-detail__artist,.art-gallery-detail__license,.art-gallery-detail__rights,.art-gallery-detail__hint{font-size:.8125rem;color:var(--text-muted);line-height:1.6;margin:0 0 .5rem}.art-gallery-detail__use{margin-top:.75rem;width:100%;border:1px solid var(--border);background:var(--accent-soft);color:var(--text);border-radius:8px;padding:.55rem .75rem;cursor:pointer}.book-cover.book-cover--art{position:relative;overflow:hidden}.book-cover-art-img{display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.book-cover-art-img--crop{position:absolute;max-width:none;width:calc(100% / var(--crop-w));height:calc(100% / var(--crop-h));left:calc(var(--crop-x) / var(--crop-w) * -100%);top:calc(var(--crop-y) / var(--crop-h) * -100%);margin:0}.book-cover-art-img--contain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center}.book-physical--flat.book-physical--art .book-cover.book-cover--art,.book-physical--classic.book-physical--art .book-cover.book-cover--art{background-color:var(--cover-paper, var(--bg-panel))}.book-physical--classic.book-physical--art .book-cover.book-cover--art{padding:0;display:block}[data-theme=dark] .book-physical--flat.book-physical--art .book-cover.book-cover--art{box-shadow:none}.book-physical--art .book-cover--art .cover-lang-band,.book-physical--art .book-cover--art .cover-lang-code,.book-physical--art .book-cover--art .cover-title-original{display:none}.book-physical--flat.book-physical--art .book-cover--art{border-style:solid}.cover-art-title{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none;padding:.65rem .55rem;z-index:2}.cover-art-title--top{align-items:flex-start}.cover-art-title--center{align-items:center}.cover-art-title--bottom{align-items:flex-end}.cover-art-title--align-start{justify-content:flex-start;text-align:left}.cover-art-title--align-center{justify-content:center;text-align:center}.cover-art-title--align-end{justify-content:flex-end;text-align:right}.cover-art-title--horizontal{flex-direction:column;gap:.12rem}.cover-art-title--vertical{flex-direction:row;gap:.2rem;writing-mode:horizontal-tb}.cover-art-title--vertical .cover-art-line{writing-mode:vertical-rl;text-orientation:mixed}.cover-art-line{display:block;font-family:var(--font-cjk);letter-spacing:.06em;line-height:1.25;text-shadow:0 1px 8px rgba(0,0,0,.35)}.cover-art-title--size-sm .cover-art-line{font-size:.62rem}.cover-art-title--size-md .cover-art-line{font-size:.72rem}.cover-art-title--size-lg .cover-art-line{font-size:.82rem}.cover-art-title--color-light .cover-art-line{color:#f8f4ec}.cover-art-title--color-dark .cover-art-line{color:#2e2a24;text-shadow:0 1px 4px rgba(255,255,255,.35)}.book-cover-menu{z-index:120}.book-cover-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b196b;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:130}.book-cover-picker-overlay.visible{opacity:1;pointer-events:auto}body.book-cover-picker-open{overflow:hidden}.book-cover-picker-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%) scale(.98);width:min(960px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 48px #3d3a3629;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:131}.book-cover-picker-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.book-cover-picker-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem .5rem;border-bottom:1px solid var(--border)}.book-cover-picker-heading{font-size:1.125rem;margin:0}.book-cover-picker-close{border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-muted)}.book-cover-picker-body{padding:1rem 1.15rem 1.15rem}.book-cover-picker-lead{color:var(--text-muted);font-size:.875rem;margin:0 0 .75rem}.book-cover-picker-search-wrap{margin-bottom:.85rem}.book-cover-picker-search{width:100%;font-family:"Noto Serif SC",serif;font-size:.9375rem;letter-spacing:.04em;padding:.65rem .85rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);transition:border-color .2s,box-shadow .2s}.book-cover-picker-search::placeholder{color:var(--text-light);letter-spacing:.06em}.book-cover-picker-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.book-cover-picker-search-count{margin:.45rem 0 0;font-size:.75rem;color:var(--text-muted)}#bookCoverPickerArtEmpty.book-cover-picker-empty{margin:0 0 .75rem;padding:0}.book-cover-crop-layout{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:1rem;align-items:start}@media(max-width:760px){.book-cover-crop-layout{grid-template-columns:1fr}}.book-cover-crop-stage{position:relative;width:100%;height:360px;background:#3d3a360d;border:1px solid var(--border);border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.book-cover-crop-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%;pointer-events:none}.book-cover-crop-box{position:absolute;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 9999px #0000006b;cursor:grab;border-radius:2px}.book-cover-crop-box:active{cursor:grabbing}.book-cover-fit-toggle{display:flex;align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:.8125rem;color:var(--text-muted);cursor:pointer}.book-cover-crop-stage--disabled .book-cover-crop-box{display:none}.book-cover-crop-stage--disabled{opacity:.72}.book-cover-title-panel{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.book-cover-title-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.75rem}.book-cover-title-lines{display:grid;gap:.5rem;margin-bottom:.5rem}.book-cover-title-line{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;align-items:center;font-size:.8125rem;color:var(--text-muted)}.book-cover-title-line input{width:100%;border:1px solid var(--border);border-radius:6px;padding:.4rem .55rem;background:var(--bg);color:var(--text)}.book-cover-title-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.book-cover-mini-btn,.book-cover-secondary-btn,.book-cover-primary-btn{border:1px solid var(--border);border-radius:8px;padding:.45rem .75rem;cursor:pointer;font-size:.8125rem;background:var(--bg-panel);color:var(--text)}.book-cover-primary-btn{background:var(--accent-soft)}.book-cover-title-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.book-cover-title-options label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-muted)}.book-cover-title-options select{border:1px solid var(--border);border-radius:6px;padding:.35rem .45rem;background:var(--bg);color:var(--text)}.book-cover-preview-label{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.book-cover-preview-mount{display:flex;justify-content:center}.book-cover-preview-book{font-size:.75rem;color:var(--text-muted);text-align:center;margin:.75rem 0 0}.book-cover-picker-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.admin-art-gallery-layout{display:flex;flex-direction:column;gap:1rem}.admin-art-gallery-section-title{margin:0 0 .35rem;font-size:1rem}.admin-art-gallery-section-lead{margin:0 0 .85rem;color:var(--text-muted);font-size:.8125rem;line-height:1.6}.admin-art-gallery-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:.85rem}.admin-art-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.admin-art-gallery-item{display:flex;gap:.75rem;border:1px solid var(--border);border-radius:10px;padding:.65rem;background:var(--bg-panel)}.admin-art-gallery-item--disabled{opacity:.55}.admin-art-gallery-item__thumb-wrap{position:relative;width:72px;flex-shrink:0}.admin-art-gallery-item__thumb{width:100%;aspect-ratio:3 / 4;border-radius:4px;background-size:cover;background-position:center}.admin-art-gallery-item__title{margin:0 0 .2rem;font-size:.875rem}.admin-art-gallery-item__meta{margin:0 0 .5rem;font-size:.75rem;color:var(--text-muted)}.admin-art-gallery-item__actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-art-gallery-met{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;background:var(--bg-panel)}.admin-art-gallery-met-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .65rem;margin-bottom:.75rem}.admin-art-gallery-met-search__museum,.admin-art-gallery-met-search__query{display:flex;flex-direction:column;gap:.3rem;margin:0;min-width:0}.admin-art-gallery-met-search__museum{flex:0 0 auto}.admin-art-gallery-met-search__query{flex:1 1 220px}.admin-art-gallery-met-search__field-label{font-size:.75rem;color:var(--text-muted);line-height:1.2}.admin-art-gallery-met-search .admin-art-gallery-met-search__control{width:100%;margin-bottom:0;min-height:2.375rem;box-sizing:border-box}.admin-art-gallery-met-search__museum .admin-art-gallery-met-search__control{width:5.75rem}.admin-art-gallery-met-search__input{min-width:0}.admin-art-gallery-met-search__submit{flex:0 0 auto;min-height:2.375rem;margin:0;align-self:flex-end}.admin-art-gallery-met-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .65rem}.admin-art-gallery-met-import-progress{flex:1 1 100%;margin:0;font-size:.75rem;color:var(--text-muted)}.admin-art-gallery-met-import-progress[hidden]{display:none}.admin-art-gallery-met-status{margin:0 0 .65rem;font-size:.8125rem;color:var(--text-muted)}.admin-art-gallery-met-status--note{margin-bottom:.5rem}.admin-art-gallery-met-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.admin-art-gallery-met-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.admin-art-gallery-met-card__thumb-wrap{position:relative}.admin-art-gallery-met-card__thumb-wrap .art-gallery-rights-badge{top:.4rem;right:.4rem}.admin-art-gallery-met-card--imported{opacity:.72}.admin-art-gallery-met-card--selected{border-color:#8eb4c9a6;box-shadow:0 0 0 1px #8eb4c940}.admin-art-gallery-met-card--importing{opacity:.85}.admin-art-gallery-met-card--import-failed{border-color:#c4544a73}.admin-art-gallery-met-card__select-wrap{position:absolute;top:.4rem;left:.4rem;z-index:2;display:inline-flex;cursor:pointer}.admin-art-gallery-met-card__select{position:absolute;opacity:0;width:1rem;height:1rem;margin:0;cursor:pointer}.admin-art-gallery-met-card__select-box{display:block;width:1rem;height:1rem;border:1px solid rgba(255,255,255,.85);border-radius:3px;background:#00000059;box-shadow:0 1px 4px #0003}.admin-art-gallery-met-card__select:checked+.admin-art-gallery-met-card__select-box{background:var(--accent, #8eb4c9);border-color:var(--accent, #8eb4c9)}.admin-art-gallery-met-card__select:checked+.admin-art-gallery-met-card__select-box:after{content:"✓";display:block;color:#fff;font-size:.72rem;line-height:1rem;text-align:center}.admin-art-gallery-met-card--no-image .admin-art-gallery-met-card__thumb{background:var(--bg-muted, rgba(0, 0, 0, .06))}.admin-art-gallery-met-card--no-image .admin-art-gallery-met-card__thumb:after{content:"鏃犻瑙堝浘";display:flex;align-items:center;justify-content:center;height:100%;font-size:.72rem;color:var(--text-muted)}.admin-art-gallery-met-card__thumb{aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:var(--bg-muted, rgba(0, 0, 0, .04))}.admin-art-gallery-met-card__body{padding:.55rem .65rem .65rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.admin-art-gallery-met-card__title{margin:0;font-size:.8125rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-art-gallery-met-card__meta{margin:0;font-size:.72rem;color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-art-gallery-met-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.25rem}.admin-art-gallery-met-card__link{text-decoration:none;display:inline-flex;align-items:center}.admin-art-gallery-met-more{display:flex;justify-content:center;margin-top:.65rem}.upgrade-btn{flex-shrink:0;font-family:"Noto Serif SC",serif;font-size:.6rem;letter-spacing:.1em;padding:.25rem .55rem;border:1px solid color-mix(in srgb,#c93030 55%,var(--border));border-radius:999px;background:transparent;color:#c93030;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s}.upgrade-btn:hover,.upgrade-btn:focus-visible{background:color-mix(in srgb,#c93030 12%,var(--bg-panel));outline:none}.upgrade-btn--manage{border-color:var(--border);color:var(--text-muted)}.upgrade-btn--manage:hover,.upgrade-btn--manage:focus-visible{background:var(--bg);color:var(--text)}.upgrade-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:136;opacity:0;pointer-events:none;transition:opacity var(--transition)}.upgrade-overlay.visible{opacity:1;pointer-events:auto}.upgrade-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);width:min(920px,96vw);max-height:min(92vh,820px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 72px var(--shadow);z-index:137;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);padding:1.4rem 1.5rem 1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.upgrade-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.upgrade-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;flex-shrink:0}.upgrade-dialog__head-text{min-width:0}.upgrade-dialog__label{margin:0 0 .18rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.1em}.upgrade-dialog__title{margin:0 0 .3rem;font-size:1.05rem;font-weight:600;color:var(--text)}.upgrade-dialog__sub{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.5}.upgrade-dialog__expiry{margin:.55rem 0 0;font-size:.78rem;letter-spacing:.04em;color:#8b2020;font-weight:500}.upgrade-dialog__close{border:none;background:transparent;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--text-muted);flex-shrink:0;padding:.1rem .25rem;transition:color .15s}.upgrade-dialog__close:hover{color:var(--text)}.upgrade-dialog__note{margin:.9rem 0 0;font-size:.68rem;color:var(--text-muted);letter-spacing:.04em;text-align:center;flex-shrink:0}.upgrade-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;flex:0 0 auto;padding-bottom:.25rem}.upgrade-plan-grid--renew{grid-template-columns:repeat(2,1fr)}.upgrade-portal-row{grid-column:1 / -1;display:flex;justify-content:center;margin-bottom:.15rem}.upgrade-portal-btn{font-family:"Noto Serif SC",serif;font-size:.78rem;letter-spacing:.06em;padding:.45rem 1rem;border-radius:3px;border:1px solid color-mix(in srgb,var(--text-muted) 45%,transparent);color:var(--text);background:color-mix(in srgb,var(--text-muted) 8%,var(--bg));cursor:pointer}.upgrade-portal-btn:hover,.upgrade-portal-btn:focus-visible{filter:brightness(1.06);outline:none}.upgrade-plan-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;padding:1.1rem 1rem 1rem;background:var(--bg);transition:border-color .2s}.upgrade-plan-card--featured{border-color:#c93030;background:color-mix(in srgb,#c93030 5%,var(--bg-panel))}.upgrade-plan-card__badge{display:inline-block;font-family:"Noto Serif SC",serif;font-size:.58rem;letter-spacing:.1em;padding:.18rem .48rem;border-radius:999px;border:1px solid #c93030;color:#c93030;margin-bottom:.65rem;align-self:flex-start}.upgrade-plan-card__name{margin:0 0 .2rem;font-family:"Noto Serif SC",serif;font-size:.92rem;font-weight:600;color:var(--text)}.upgrade-plan-card__price{margin:0 0 .15rem;font-size:1.45rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.upgrade-plan-card__price-unit{font-size:.72rem;font-weight:400;color:var(--text-muted);letter-spacing:0}.upgrade-plan-card__price-note{margin:0 0 .55rem;font-size:.68rem;color:#c93030;letter-spacing:.02em;line-height:1.4}.upgrade-plan-card__tagline{margin:0 0 1rem;font-size:.7rem;color:var(--text-muted);line-height:1.45}.upgrade-plan-card__cta{display:block;width:100%;padding:.52rem 1rem;margin-bottom:1rem;border-radius:999px;border:1px solid var(--border);background:transparent;font-family:"Noto Serif SC",serif;font-size:.75rem;letter-spacing:.06em;color:var(--text);cursor:pointer;text-align:center;transition:background .18s,border-color .18s,color .18s}.upgrade-plan-card__cta:disabled{opacity:.55;cursor:default}.upgrade-plan-card--featured .upgrade-plan-card__cta:not(:disabled){background:#c93030;border-color:#c93030;color:#fff}.upgrade-plan-card--featured .upgrade-plan-card__cta:not(:disabled):hover{background:#a52020;border-color:#a52020}.upgrade-plan-card__cta:not(:disabled):hover{background:var(--bg-panel);border-color:color-mix(in srgb,var(--text) 35%,var(--border))}.upgrade-plan-card__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;flex:1}.upgrade-plan-card__feature{display:flex;align-items:flex-start;gap:.45rem;font-size:.72rem;color:var(--text);line-height:1.4}.upgrade-plan-card__feature-icon{flex-shrink:0;width:.85rem;text-align:center;font-size:.7rem;margin-top:.08em}.upgrade-plan-card__feature--dim{color:var(--text-muted)}.upgrade-plan-card__feature--dim .upgrade-plan-card__feature-icon{opacity:.45}.upgrade-plan-card__divider{border:none;border-top:1px solid var(--border);margin:.75rem 0}@media(max-width:860px){.upgrade-dialog{width:min(640px,95vw)}.upgrade-plan-grid{grid-template-columns:1fr;gap:.75rem}}@media(max-width:600px){.upgrade-dialog{padding:1rem .9rem .8rem;max-height:96vh;border-radius:10px}.upgrade-dialog__title{font-size:.92rem}}.upgrade-dialog__note .upgrade-dialog__legal-link{color:inherit;text-decoration:underline;text-underline-offset:.15em;text-decoration-color:color-mix(in srgb,var(--text-muted) 55%,transparent)}.upgrade-dialog__note .upgrade-dialog__legal-link:hover{color:var(--text);text-decoration-color:var(--accent)}.site-footer{border-top:1px solid color-mix(in srgb,var(--border) 35%,transparent);background:var(--bg);padding:1.35rem 1.25rem 1.6rem;margin-top:auto}.site-footer__inner{max-width:var(--read-max);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}.site-footer__brand{margin:0;font-family:"Noto Serif SC",serif;font-size:.78rem;letter-spacing:.14em;color:var(--text-muted)}.site-footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1rem}.site-footer__nav a{font-size:.7rem;letter-spacing:.04em;color:var(--text-muted);text-decoration:none}.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:.18em;outline:none}.site-footer__meta{margin:0;font-size:.62rem;letter-spacing:.04em;color:var(--text-light)}body[data-view=reading] .site-footer,body[data-view=atlas] .site-footer,body[data-view=artGallery] .site-footer,body.upgrade-open .site-footer{display:none}
