@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap";.login-shell[data-v-0fa8d0c7]{width:min(1200px,calc(100vw - 56px));display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,500px);gap:clamp(28px,5vw,76px);align-items:center}.login-story[data-v-0fa8d0c7]{position:relative;padding:30px 10px 30px 0}.login-story h1[data-v-0fa8d0c7]{margin:0;max-width:8.5em;font-size:clamp(42px,5vw,64px);line-height:1.01;font-family:var(--font-cjk-serif);color:var(--text)}.login-card-wrap[data-v-0fa8d0c7]{position:relative}.login-card-wrap[data-v-0fa8d0c7]:before{content:"";position:absolute;top:24px;right:-18px;bottom:-24px;left:18px;border-radius:32px;background:#fff8ecb8;filter:blur(10px)}.login-card[data-v-0fa8d0c7]{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:none;padding:42px 38px 34px;border-radius:30px;border:1px solid rgba(216,210,200,.84);background:#fffdf8db;box-shadow:0 18px 40px #23211e0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card-head[data-v-0fa8d0c7]{margin-bottom:24px}.card-badge[data-v-0fa8d0c7]{display:inline-flex;min-height:30px;align-items:center;padding:0 12px;border-radius:999px;background:#3345371a;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.1em}.login-card h2[data-v-0fa8d0c7]{margin-top:16px;font-size:clamp(34px,3vw,40px);font-family:var(--font-cjk-serif);line-height:1.03}.subtitle[data-v-0fa8d0c7]{max-width:26ch;margin-top:10px;color:var(--text-secondary);line-height:1.85}.login-form[data-v-0fa8d0c7]{display:grid;gap:2px}.login-form .form-group[data-v-0fa8d0c7]{margin-bottom:18px}.login-form label[data-v-0fa8d0c7]{margin-bottom:8px}.login-form .input[data-v-0fa8d0c7]{min-height:52px;padding:14px 16px;border-radius:16px;background:#fffcf6f0}.login-submit[data-v-0fa8d0c7]{width:100%;min-height:52px;justify-content:center;margin-top:8px}.login-toggle[data-v-0fa8d0c7]{text-align:center;margin-top:18px;font-size:13px;color:var(--text-secondary)}.login-toggle a[data-v-0fa8d0c7]{color:var(--primary);text-decoration:none;font-weight:600}.login-toggle a[data-v-0fa8d0c7]:hover{text-decoration:underline}@media (max-width: 1080px){.login-shell[data-v-0fa8d0c7]{grid-template-columns:1fr;width:min(760px,calc(100vw - 28px));gap:22px}.login-story[data-v-0fa8d0c7]{padding:8px 0 0}.login-story h1[data-v-0fa8d0c7]{max-width:none;font-size:clamp(34px,8vw,48px)}.login-card-wrap[data-v-0fa8d0c7]:before{top:16px;right:-8px;bottom:-16px;left:8px}}@media (max-width: 768px){.login-view[data-v-0fa8d0c7]{align-items:stretch;padding:16px 0 24px}.login-shell[data-v-0fa8d0c7]{width:calc(100vw - 20px);gap:16px}.login-card[data-v-0fa8d0c7]{padding:28px 20px 24px;border-radius:24px}.login-card h2[data-v-0fa8d0c7]{font-size:32px}}.fc-overlay[data-v-d21a00d8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.fc-modal[data-v-d21a00d8]{width:100%;max-width:440px;background:#f7f5f2;border-radius:18px;padding:24px 20px 20px;position:relative}.fc-progress-bar[data-v-d21a00d8]{height:3px;background:#e8e4df;border-radius:2px;margin-bottom:6px}.fc-progress-fill[data-v-d21a00d8]{height:100%;background:#2a2a2a;border-radius:2px;transition:width .3s}.fc-progress-text[data-v-d21a00d8]{font-size:11px;color:#999;text-align:right;margin-bottom:16px}.fc-scene[data-v-d21a00d8]{perspective:1000px;cursor:pointer;margin-bottom:16px}.fc-card[data-v-d21a00d8]{position:relative;width:100%;min-height:230px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,.2,.2,1)}.fc-card.flipped[data-v-d21a00d8]{transform:rotateY(180deg)}.fc-front[data-v-d21a00d8],.fc-back[data-v-d21a00d8]{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:14px;padding:32px 28px;min-height:230px;display:flex;flex-direction:column}.fc-front[data-v-d21a00d8]{background:#2a2a2a;border:1px solid #2a2a2a}.fc-back[data-v-d21a00d8]{background:#fff;border:1px solid #ebebeb;transform:rotateY(180deg)}.fc-side-label[data-v-d21a00d8],.fc-side-label-back[data-v-d21a00d8]{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.fc-side-label[data-v-d21a00d8]{color:#888}.fc-side-label-back[data-v-d21a00d8]{color:#bbb;margin-bottom:0}.fc-question[data-v-d21a00d8]{font-size:17px;font-weight:500;color:#fff;line-height:1.65;flex:1}.fc-hint[data-v-d21a00d8]{font-size:11px;color:#777;margin-top:16px;text-align:center}.fc-back-top[data-v-d21a00d8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fc-source-tag[data-v-d21a00d8]{font-size:10px;background:#f0f0f0;color:#777;border-radius:4px;padding:2px 7px}.fc-answer[data-v-d21a00d8]{font-size:14px;color:#1a1a1a;line-height:1.85;flex:1}.fc-meta[data-v-d21a00d8]{margin-top:14px;font-size:12px;color:#777}.fc-actions[data-v-d21a00d8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;opacity:0;pointer-events:none;transition:opacity .2s}.fc-actions.visible[data-v-d21a00d8]{opacity:1;pointer-events:auto}.fc-btn[data-v-d21a00d8]{padding:12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid;transition:opacity .15s}.fc-btn[data-v-d21a00d8]:disabled{opacity:.5;cursor:not-allowed}.fc-btn-again[data-v-d21a00d8]{background:#fff5f5;color:#b42318;border-color:#f2b8b5}.fc-btn-hard[data-v-d21a00d8]{background:#fff9f0;color:#b54708;border-color:#f3d0a2}.fc-btn-good[data-v-d21a00d8]{background:#f4fbf6;color:#027a48;border-color:#a6d8bd}.fc-btn-easy[data-v-d21a00d8]{background:#2a2a2a;color:#fff;border-color:#2a2a2a}.fc-edit-row[data-v-d21a00d8]{display:flex;align-items:center;gap:8px}.fc-edit-btn[data-v-d21a00d8]{background:none;border:none;font-size:12px;color:#999;cursor:pointer;padding:4px 6px}.fc-edit-btn[data-v-d21a00d8]:hover{color:#555}.fc-del-btn[data-v-d21a00d8]:hover{color:#ef4444}.fc-close-btn[data-v-d21a00d8]{margin-left:auto;background:none;border:none;font-size:12px;color:#777;cursor:pointer}.fc-edit-overlay[data-v-d21a00d8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.fc-edit-box[data-v-d21a00d8]{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:20px}.fc-edit-title[data-v-d21a00d8]{font-size:16px;font-weight:700;margin-bottom:12px}.fc-edit-label[data-v-d21a00d8]{display:block;font-size:12px;color:#666;margin-bottom:6px}.fc-edit-input[data-v-d21a00d8]{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:10px 12px;margin-bottom:12px;resize:vertical;font:inherit}.fc-edit-actions[data-v-d21a00d8]{display:flex;gap:10px}.fc-done[data-v-d21a00d8]{text-align:center;padding:20px 8px}.fc-done-num[data-v-d21a00d8]{font-size:42px;font-weight:700;color:#2a2a2a}.fc-done-label[data-v-d21a00d8]{font-size:16px;font-weight:600;margin-top:4px}.fc-done-badge[data-v-d21a00d8]{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:999px;background:#f4fbf6;color:#027a48;font-size:13px;font-weight:600}.fc-done-sub[data-v-d21a00d8]{color:#777;font-size:13px;margin-top:14px}.fc-done-btn[data-v-d21a00d8]{margin-top:18px;width:100%;padding:12px;border-radius:10px;border:none;background:#2a2a2a;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.pomodoro-container[data-v-76b712ae]{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pomodoro-panel[data-v-76b712ae]{width:210px;background:#fff;border-radius:20px;padding:12px 16px 16px;box-shadow:0 4px 20px #00000026;margin-bottom:8px;cursor:grab}.pomodoro-panel[data-v-76b712ae]:active{cursor:grabbing}.drag-handle[data-v-76b712ae]{display:flex;justify-content:center;padding:4px 0 8px;margin:-4px -8px 4px;cursor:grab}.drag-handle[data-v-76b712ae]:active{cursor:grabbing}.drag-bar[data-v-76b712ae]{width:36px;height:4px;background:#ddd;border-radius:2px}.mode-tabs[data-v-76b712ae]{display:flex;gap:4px;margin-bottom:16px}.mode-tab[data-v-76b712ae]{flex:1;padding:6px 0;border:none;border-radius:8px;font-size:12px;font-weight:500;background:#f5f5f5;color:#666;cursor:pointer;transition:all .2s}.mode-tab.active[data-v-76b712ae]{background:#eeedfe;color:#534ab7}.timer-ring[data-v-76b712ae]{position:relative;width:100px;height:100px;margin:0 auto 16px}.ring-svg[data-v-76b712ae]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-76b712ae]{fill:none;stroke:#eee;stroke-width:6}.ring-progress[data-v-76b712ae]{fill:none;stroke:#534ab7;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.timer-center[data-v-76b712ae]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.time-display[data-v-76b712ae]{font-size:22px;font-weight:600;color:#2a2a2a;line-height:1}.mode-name[data-v-76b712ae]{font-size:11px;color:#999;margin-top:4px}.controls[data-v-76b712ae]{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:16px}.ctrl-btn[data-v-76b712ae]{width:36px;height:36px;border-radius:50%;border:none;background:#f5f5f5;color:#666;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.ctrl-btn[data-v-76b712ae]:hover{background:#e8e8e8}.ctrl-btn.primary[data-v-76b712ae]{width:44px;height:44px;background:#2a2a2a;color:#fff;font-size:18px}.ctrl-btn.primary[data-v-76b712ae]:hover{background:#444}.pomodoro-progress[data-v-76b712ae]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.dots[data-v-76b712ae]{display:flex;gap:4px}.dot[data-v-76b712ae]{width:8px;height:8px;border-radius:50%;background:#ddd;transition:all .3s}.dot.completed[data-v-76b712ae]{background:#534ab7}.pomo-text[data-v-76b712ae]{font-size:11px;color:#666}.divider[data-v-76b712ae]{height:1px;background:#eee;margin:12px 0}.reading-stats[data-v-76b712ae]{text-align:center}.stat-row[data-v-76b712ae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.stat-label[data-v-76b712ae]{font-size:12px;color:#666}.stat-time[data-v-76b712ae]{font-size:14px;font-weight:600;color:#534ab7}.stat-status[data-v-76b712ae]{font-size:10px;color:#999}.pomodoro-btn[data-v-76b712ae]{width:52px;height:52px;border-radius:50%;background:#2a2a2a;display:flex;align-items:center;justify-content:center;cursor:grab;box-shadow:0 4px 12px #0003;transition:transform .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.pomodoro-btn[data-v-76b712ae]:active{cursor:grabbing;transform:scale(.95)}.pomodoro-btn.open[data-v-76b712ae]{box-shadow:0 2px 8px #00000026}.btn-icon[data-v-76b712ae]{width:26px;height:26px;color:#fff}.pomodoro-panel-enter-active[data-v-76b712ae],.pomodoro-panel-leave-active[data-v-76b712ae]{transition:all .3s ease}.pomodoro-panel-enter-from[data-v-76b712ae],.pomodoro-panel-leave-to[data-v-76b712ae]{opacity:0;transform:translateY(10px) scale(.95)}.celebration-overlay[data-v-1a343f52]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn-1a343f52 .3s ease}.celebration-content[data-v-1a343f52]{background:#fff;border-radius:20px;padding:40px 32px;text-align:center;max-width:320px;width:85%;box-shadow:0 20px 60px #0003;animation:scaleIn-1a343f52 .4s ease}.level-badge[data-v-1a343f52]{margin-bottom:24px}.badge-inner[data-v-1a343f52]{display:inline-flex;flex-direction:column;align-items:center;padding:20px 32px;background:linear-gradient(135deg,#f5f0e8,#ebe4d6);border-radius:16px;border:2px solid #d4c4b0}.badge-stage[data-v-1a343f52]{font-size:20px;font-weight:700;color:#8b6f47;margin-bottom:4px}.badge-level[data-v-1a343f52]{font-size:14px;color:#a08060;font-weight:500}.celebration-text[data-v-1a343f52]{margin-bottom:28px}.congrats-title[data-v-1a343f52]{font-size:16px;color:#8b6f47;font-weight:600;margin-bottom:12px}.stage-desc[data-v-1a343f52]{font-size:14px;color:#666;line-height:1.6}.continue-btn[data-v-1a343f52]{background:#8b6f47;color:#fff;border:none;padding:12px 40px;font-size:15px;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s}.continue-btn[data-v-1a343f52]:hover{background:#6b5a45}@keyframes fadeIn-1a343f52{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-1a343f52{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mobile-nav[data-v-9cb749d4]{position:fixed;bottom:0;left:0;right:0;height:calc(58px + env(safe-area-inset-bottom,0px));background:var(--header-bg);border-top:1px solid var(--header-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;justify-content:space-around;align-items:flex-start;z-index:200;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}.mobile-nav-item[data-v-9cb749d4]{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 18px;border:none;background:transparent;color:var(--ink-3);font-size:10px;font-weight:400;letter-spacing:.03em;cursor:pointer;border-radius:12px;transition:color .18s,background .18s;flex:1;min-width:0}.mobile-nav-item.active[data-v-9cb749d4]{color:var(--azure);background:var(--azure-faint);font-weight:600}.mobile-nav-item.active[data-v-9cb749d4]:after{content:"";display:block;width:3px;height:3px;border-radius:50%;background:var(--azure);margin-top:1px}@media (min-width: 769px){.mobile-nav[data-v-9cb749d4]{display:none}}.theme-toggle[data-v-4f12f82c]{position:relative;display:inline-flex}.theme-toggle__trigger[data-v-4f12f82c]{width:32px;height:32px;border-radius:50%;border:1px solid var(--paper-edge);background:var(--surface);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,color .15s,background .15s}.theme-toggle__trigger[data-v-4f12f82c]:hover{border-color:var(--azure);color:var(--azure)}.theme-toggle__popover[data-v-4f12f82c]{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;padding:4px;background:var(--surface);border:1px solid var(--paper-edge);border-radius:var(--radius);box-shadow:var(--shadow-lift);z-index:200}.theme-toggle__option[data-v-4f12f82c]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:transparent;cursor:pointer;border-radius:var(--radius-sm);color:var(--ink-1);font-family:var(--sans);font-size:13px;transition:background .12s}.theme-toggle__option[data-v-4f12f82c]:hover{background:var(--paper-soft)}.theme-toggle__option--active[data-v-4f12f82c]{background:var(--azure-faint);color:var(--azure)}.theme-toggle__icon[data-v-4f12f82c]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:currentColor}.theme-toggle__label[data-v-4f12f82c]{font-weight:500;flex-shrink:0}.theme-toggle__hint[data-v-4f12f82c]{margin-left:auto;font-size:11px;color:var(--ink-3);letter-spacing:.02em}.theme-toggle__option--active .theme-toggle__hint[data-v-4f12f82c]{color:var(--azure-bright)}.lb[data-v-a539eb84]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f141ce0;display:flex;align-items:center;justify-content:center;padding:28px 60px 72px;box-sizing:border-box;cursor:zoom-out}.lb__stage[data-v-a539eb84]{position:relative;max-width:min(100%,1400px);max-height:100%;display:flex;align-items:center;justify-content:center;cursor:default}.lb__img[data-v-a539eb84]{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:6px;box-shadow:0 8px 40px #00000080;display:block}.lb__close[data-v-a539eb84]{position:absolute;top:18px;right:24px;width:38px;height:38px;border-radius:50%;border:none;background:#ffffff14;color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;justify-content:center}.lb__close[data-v-a539eb84]:hover{background:#ffffff2e}.lb__nav[data-v-a539eb84]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:60px;border:none;background:#ffffff0d;color:#fff;font-size:36px;line-height:1;cursor:pointer;border-radius:6px;transition:background .15s}.lb__nav[data-v-a539eb84]:hover{background:#ffffff2e}.lb__nav--prev[data-v-a539eb84]{left:14px}.lb__nav--next[data-v-a539eb84]{right:14px}.lb__bar[data-v-a539eb84]{position:absolute;left:0;right:0;bottom:0;padding:14px 28px 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;background:linear-gradient(to top,rgba(0,0,0,.4),transparent);color:#ffffffeb;font-family:var(--sans);font-size:13px}.lb__meta[data-v-a539eb84]{display:flex;flex-direction:column;gap:4px;min-width:0}.lb__title[data-v-a539eb84]{font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.lb__source[data-v-a539eb84]{font-size:12px;color:#ffffffa6;text-decoration:none;letter-spacing:.02em}.lb__source[data-v-a539eb84]:hover{color:#fff;text-decoration:underline}.lb__counter[data-v-a539eb84]{font-size:12px;color:#ffffffb3;flex-shrink:0;font-variant-numeric:tabular-nums}.lb__error[data-v-a539eb84]{color:#ffffffd9;text-align:center;font-family:var(--sans)}.lb__error a[data-v-a539eb84]{color:#82b1ff;text-decoration:underline}.lb-fade-enter-active[data-v-a539eb84],.lb-fade-leave-active[data-v-a539eb84]{transition:opacity .18s ease}.lb-fade-enter-from[data-v-a539eb84],.lb-fade-leave-to[data-v-a539eb84]{opacity:0}@media (max-width: 600px){.lb[data-v-a539eb84]{padding:14px 14px 70px}.lb__nav[data-v-a539eb84]{width:38px;height:52px;font-size:30px}.lb__nav--prev[data-v-a539eb84]{left:6px}.lb__nav--next[data-v-a539eb84]{right:6px}.lb__close[data-v-a539eb84]{top:10px;right:12px;width:34px;height:34px;font-size:22px}.lb__bar[data-v-a539eb84]{padding:10px 16px 14px}.lb__title[data-v-a539eb84]{max-width:75vw}}@media (max-width: 768px){#app{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}body{font-family:var(--sans)}.app-header{height:52px!important;padding:0 12px 0 16px!important}.navbar-brand{font-size:16px!important;letter-spacing:.01em}.header-nav{display:none!important}.navbar-user{gap:8px!important}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:calc(58px + env(safe-area-inset-bottom,0px));display:flex!important;justify-content:space-around;align-items:flex-start;z-index:200;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}.reader-toolbar{position:fixed;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:100}.reader-content{padding:60px 16px 24px;font-size:14px;line-height:1.9}.reader-content h1{font-size:20px;font-weight:500}.reader-content h2{font-size:17px;font-weight:500}.reader-content p{margin:12px 0}.chat-panel,.notes-panel,.floating-pomodoro{display:none!important}.sidebar:not(.reader-sidebar){display:none!important}.sidebar{position:fixed;left:0;top:96px;bottom:0;width:260px;z-index:1000;display:flex!important;box-shadow:2px 0 8px #00000026}.sidebar.collapsed{margin-left:-260px}.world-card{border-radius:var(--radius-lg);padding:16px;margin-bottom:14px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.btn{min-height:44px;border-radius:var(--radius)}.bottom-nav{display:none!important}.legacy-view,.expedition-view{overflow-x:hidden}input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}button:not(.cite-circle),[role=button]:not(.cite-circle){min-height:36px}}@media (min-width: 769px){.mobile-nav{display:none!important}}.nav-unread[data-v-b4a76a2c]{display:inline-block;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;margin-left:4px;vertical-align:middle;line-height:1.4}.app-header[data-v-b4a76a2c]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:62px;background:var(--header-bg);border-bottom:1px solid var(--header-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;box-shadow:0 14px 36px #1c1c180f;flex-shrink:0;overflow:visible;isolation:isolate}.app-header[data-v-b4a76a2c]:before{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--paper-edge),transparent);opacity:.6}.navbar-brand[data-v-b4a76a2c]{font-size:22px;font-weight:700;color:var(--ink);cursor:pointer;letter-spacing:.02em;font-family:var(--font-cjk-serif)}.mobile-back-btn[data-v-b4a76a2c]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:var(--ink-2, var(--ink));border-radius:10px;cursor:pointer;margin-right:6px;margin-left:-6px;flex-shrink:0;transition:background-color .18s,color .18s}.mobile-back-btn[data-v-b4a76a2c]:hover{background:var(--paper-deep, rgba(0,0,0,.05));color:var(--ink)}.mobile-back-btn[data-v-b4a76a2c]:active{background:var(--paper-edge, rgba(0,0,0,.08))}.navbar-user[data-v-b4a76a2c]{display:flex;align-items:center;gap:10px}.navbar-avatar[data-v-b4a76a2c]{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--paper-edge, rgba(120, 115, 106, .18));background:linear-gradient(135deg,var(--azure-faint, #ECF1F7),var(--paper-soft, #F0EBDC));cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .15s,box-shadow .18s,border-color .18s}.navbar-avatar[data-v-b4a76a2c]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #28262214;border-color:var(--azure, #4A6FA0)}.navbar-avatar img[data-v-b4a76a2c]{width:100%;height:100%;object-fit:cover;display:block}.navbar-avatar__letter[data-v-b4a76a2c]{font-family:var(--serif, "Noto Serif SC", serif);font-weight:600;font-size:14px;color:var(--azure, #4A6FA0)}.navbar-avatar__dot[data-v-b4a76a2c]{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--vermilion, #A53D2E);border:1.5px solid var(--surface)}.navbar-coins[data-v-b4a76a2c]{font-size:13px;font-weight:600;color:var(--ink-1);background:var(--surface);border:1px solid var(--paper-line);padding:4px 11px;border-radius:999px;display:flex;flex-direction:column;align-items:center;line-height:1.2;transition:background .15s,border-color .15s}.navbar-coins[data-v-b4a76a2c]:hover{background:var(--surface-soft);border-color:var(--paper-edge)}.coins-label[data-v-b4a76a2c]{font-size:13px;font-weight:600}.coins-sub[data-v-b4a76a2c]{font-size:10px;color:#9d5a2d;font-weight:400;opacity:.8}.mode-switch-btn[data-v-b4a76a2c]{font-size:12px;padding:4px 10px;border:1px solid var(--paper-line);border-radius:999px;background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s}.mode-switch-btn[data-v-b4a76a2c]:hover{border-color:var(--azure);color:var(--azure)}.mode-switch-hint[data-v-b4a76a2c]{display:block;font-size:9px;color:var(--text-light);margin-top:1px;font-weight:400}.header-nav[data-v-b4a76a2c]{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translate(-50%);padding:6px;border-radius:14px;background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--header-border);width:fit-content;max-width:min(680px,calc(100vw - 360px))}.header-nav-sep[data-v-b4a76a2c]{width:1px;height:16px;background:#78736a2e;margin:0 6px}.header-nav-btn[data-v-b4a76a2c]{padding:9px 15px;border:1px solid transparent;background:transparent;font-size:14px;font-weight:600;color:var(--ink-1);cursor:pointer;border-radius:12px;transition:color .15s,background .15s,border-color .15s;position:relative}.header-nav-btn[data-v-b4a76a2c]:hover{color:var(--azure-bright);background:var(--surface);border-color:var(--paper-line)}.header-nav-btn.active[data-v-b4a76a2c]{color:var(--azure-bright);font-weight:700;border-color:var(--paper-line);background:var(--surface);box-shadow:var(--shadow-quiet)}.world-menu-btn[data-v-b4a76a2c]{width:36px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--paper-line);border-radius:10px;background:var(--bg-sidebar);font-size:18px;cursor:pointer;color:var(--text);padding:0}.world-menu-btn[data-v-b4a76a2c]:hover{border-color:var(--azure);color:var(--azure)}.navbar-user[data-v-b4a76a2c]{position:relative}.world-menu-dropdown[data-v-b4a76a2c]{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--paper-edge);border-radius:10px;padding:6px 0;z-index:300;box-shadow:var(--shadow-lift);min-width:150px}.wm-item[data-v-b4a76a2c]{padding:10px 16px;font-size:15px;cursor:pointer;color:var(--text);transition:background .1s}.wm-item[data-v-b4a76a2c]:hover{background:var(--bg-sidebar)}.wm-danger[data-v-b4a76a2c]{color:var(--danger)}.wm-danger[data-v-b4a76a2c]:hover{background:#ef444414}.preview-banner[data-v-b4a76a2c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 18px 0;padding:10px 14px;border-radius:16px;background:var(--surface-soft);color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--paper-line);font-size:13px}.preview-banner-btn[data-v-b4a76a2c]{border:1px solid var(--paper-line);border-radius:10px;padding:8px 12px;background:var(--surface);color:var(--azure);cursor:pointer;font-size:12px;font-weight:700}.bottom-nav[data-v-b4a76a2c]{display:none}@media (max-width: 768px){.app-header[data-v-b4a76a2c]{background:var(--header-bg);border-bottom:.5px solid var(--header-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:52px;padding:0 12px 0 16px;position:sticky;top:0;z-index:100}.navbar-brand[data-v-b4a76a2c]{font-size:18px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.header-nav[data-v-b4a76a2c]{display:none}.navbar-user[data-v-b4a76a2c]{gap:8px}.preview-banner[data-v-b4a76a2c]{margin:8px 10px 0;padding:9px 10px;border-radius:12px;font-size:12px}.navbar-level[data-v-b4a76a2c]{font-size:11px;font-weight:500;color:var(--text);background:var(--paper-line);padding:4px 10px;border:none;border-radius:12px}.navbar-level[data-v-b4a76a2c]:hover{transform:none}.mode-switch-btn[data-v-b4a76a2c]{display:none}.world-menu-btn[data-v-b4a76a2c]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:.5px solid var(--paper-line);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.world-menu-btn svg[data-v-b4a76a2c]{width:16px;height:16px}}@media (min-width: 769px){.app-header[data-v-b4a76a2c]{background:var(--header-bg);border-bottom:1px solid var(--header-border);height:62px;padding:0 clamp(22px,4vw,44px)}.navbar-brand[data-v-b4a76a2c]{font-size:22px;font-weight:700;color:var(--ink)}.header-nav[data-v-b4a76a2c]{display:flex}.navbar-level[data-v-b4a76a2c]{font-size:12px;font-weight:700;color:var(--azure);background:var(--surface);padding:4px 10px;border-radius:12px}}:root{--font-cjk-serif: "Source Han Serif SC", "Source Han Serif CN", "Noto Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", serif;--primary: #5c5650;--primary-light: #746d65;--primary-dark: #49443f;--accent-bronze: #8d8377;--accent-bronze-deep: #645d55;--bg: #f3f0ea;--bg-card: #faf8f3;--bg-card-strong: #fffdf8;--bg-sidebar: #efebe4;--bg-soft: #f6f2ec;--text: #23211e;--text-secondary: #5b5751;--text-light: #807a72;--border: #d8d2c8;--success: #6a645d;--warning: #8d8377;--danger: #b24a3a;--shadow: 0 16px 40px rgba(28, 28, 24, .06);--shadow-lg: 0 24px 68px rgba(28, 28, 24, .12);--radius: 16px;--radius-lg: 24px;--annotation-bg: rgba(96, 145, 230, .2);--annotation-underline: #4a7fd4}#app.archivist-theme{--primary: #5c5650;--primary-light: #746d65;--primary-dark: #49443f;--bg: #f3f0ea;--bg-card: #faf8f3;--bg-card-strong: #fffdf8;--bg-sidebar: #efebe4;--bg-soft: #f6f2ec;--text: #23211e;--text-secondary: #5b5751;--text-light: #807a72;--border: #d8d2c8;--success: #6a645d;--warning: #8d8377;--danger: #b24a3a;--shadow: 0 14px 34px rgba(40, 38, 34, .06);--shadow-lg: 0 22px 52px rgba(40, 38, 34, .1);--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}html,body,button,input,textarea,select,pre,code,kbd,samp{font-family:var(--font-cjk-serif)!important}body{font-family:var(--font-cjk-serif);background:radial-gradient(circle at top left,rgba(255,255,255,.78),transparent 24%),radial-gradient(circle at 85% 18%,rgba(120,115,106,.06),transparent 18%),linear-gradient(180deg,#faf8f3 0%,var(--bg) 48%,#ece7df 100%);color:var(--text);line-height:1.6;min-height:100vh;position:relative}#app{min-height:100vh;display:flex;flex-direction:column;padding-bottom:56px}#app.archivist-theme{background:radial-gradient(circle at 8% 0%,rgba(255,255,255,.7),transparent 24%),radial-gradient(circle at 95% 22%,rgba(120,115,106,.07),transparent 24%),linear-gradient(180deg,#faf8f3 0%,var(--bg) 18%,#ece7df 100%)}#app.archivist-theme:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(113,96,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(113,96,66,.05) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.72),transparent 92%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.72),transparent 92%);z-index:0}#app.archivist-theme h1,#app.archivist-theme h2,#app.archivist-theme h3,#app.archivist-theme .profile-heading,#app.archivist-theme .panel-title{font-family:var(--font-cjk-serif);letter-spacing:.01em}.navbar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.navbar-brand{font-size:18px;font-weight:700;color:var(--primary);cursor:pointer}.navbar-nav{display:flex;gap:8px}.nav-btn{padding:6px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);font-size:14px;transition:all .2s}.nav-btn:hover{background:var(--bg-sidebar);color:var(--text)}.nav-btn.active{background:var(--primary);color:#fff}.btn{padding:10px 18px;border:1px solid rgba(166,124,82,.18);border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;display:inline-flex;align-items:center;gap:6px;position:relative}.btn-primary{background:linear-gradient(180deg,#f7f5f1fa,#ece8e2f5);color:var(--primary);border-color:#746d652e;box-shadow:inset 0 1px #ffffffa6}.btn-primary:hover{background:linear-gradient(180deg,#faf8f4,#efebe5fa);transform:translateY(-1px);box-shadow:inset 0 1px #ffffffbf,0 8px 18px #33453712}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:linear-gradient(180deg,#fffdf9f5,#f7f2e9f0);color:var(--text);border:1px solid rgba(166,124,82,.22);box-shadow:inset 0 1px #ffffff8c}.btn-secondary:hover{background:linear-gradient(180deg,#fffefb,#f5efe4fa);border-color:#a67c5257;transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:12px;border-radius:10px}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;cursor:pointer;background:var(--bg-sidebar);color:var(--text-secondary);transition:all .2s}.btn-icon:hover{background:var(--border);color:var(--text)}.input,.textarea{width:100%;padding:12px 14px;border:1px solid rgba(166,124,82,.2);border-radius:14px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s,background .2s;background:#fffdf9e6;color:var(--text)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent-bronze);box-shadow:0 0 0 3px #a67c5224}.textarea{resize:vertical;min-height:120px;line-height:1.6}.main-layout{display:flex;flex:1;overflow:hidden;height:calc(100vh - 108px)}@media (min-width: 1025px){.main-layout--reader{display:grid;grid-template-columns:260px minmax(0,1fr) 380px;grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden;height:calc(100vh - 108px);flex:0 0 auto;min-height:0}.main-layout--reader.right-closed{grid-template-columns:260px minmax(0,1fr) 56px}.main-layout--reader:has(.sidebar.collapsed){grid-template-columns:0 minmax(0,1fr) 380px}.main-layout--reader.right-closed:has(.sidebar.collapsed){grid-template-columns:0 minmax(0,1fr) 56px}.main-layout--reader .sidebar.collapsed{margin-left:0;width:0;border-right:none;overflow:hidden;transition:width .25s ease,margin-left .25s ease}.main-layout--reader>.sidebar{grid-column:1 / 2;grid-row:1;position:static!important;height:100%}.main-layout--reader>.content-area{grid-column:2 / 3;grid-row:1;width:100%;min-width:0;height:100%;margin-left:0!important;flex:none}.main-layout--reader>.reader-right{grid-column:3 / 4;grid-row:1;width:100%;min-width:0;height:100%}}@media (max-width: 1024px){.main-layout--reader,.main-layout--reader.right-closed{display:flex;flex-direction:column;grid-template-columns:none;overflow:hidden}.main-layout--reader>.reader-right.reader-right--rail{display:none}.main-layout--reader>.sidebar{position:fixed;top:52px;left:0;bottom:58px;width:min(320px,92vw);z-index:160;background:#f5f0e3!important;background-color:#f5f0e3!important;box-shadow:12px 0 36px #1b22362e;transition:transform .22s ease;margin-left:0;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.main-layout--reader>.sidebar.collapsed{transform:translate(-105%);margin-left:0}.main-layout--reader>.content-area{width:100%;flex:1;min-width:0;position:relative}.main-layout--reader:has(>.sidebar:not(.collapsed))>.content-area:after{content:"";position:fixed;top:52px;right:0;bottom:58px;left:0;background:#14182373;z-index:140;pointer-events:none}}.sidebar{width:280px;background:#f5f0e3;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;transition:margin-left .3s}.sidebar.collapsed{margin-left:-280px}.sidebar-header{padding:16px;border-bottom:1px solid var(--border);font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:space-between}.module-list{flex:1;overflow-y:auto;padding:8px}.module-item{padding:10px 14px;border-radius:var(--radius);cursor:pointer;margin-bottom:4px;display:flex;align-items:center;gap:10px;font-size:14px;transition:all .2s}.module-item:hover{background:var(--border)}.module-item.active{background:var(--primary);color:#fff}.module-item .check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.module-item.active .check{border-color:#ffffff80}.module-item .check.done{background:var(--success);border-color:var(--success);color:#fff}.content-area{flex:1;overflow:hidden;display:flex;flex-direction:column}.book-content{max-width:960px;margin:0 auto;padding:40px 32px;width:100%;background:var(--bg-card);min-height:100%;box-shadow:var(--shadow)}.book-content h1{font-size:28px;margin-bottom:8px;color:var(--text)}.book-content h2{font-size:22px;margin:32px 0 12px;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:8px}.book-content h3{font-size:18px;margin:24px 0 8px;color:var(--text)}.book-content p{margin:12px 0;line-height:1.8}.book-content ul,.book-content ol{margin:12px 0;padding-left:24px}.book-content li{margin:6px 0;line-height:1.7}.book-content code{background:#f0ead8;padding:2px 6px;border-radius:4px;font-size:14px}.book-content pre{background:#2c2416;color:#e8e0d0;padding:16px;border-radius:var(--radius);overflow-x:auto;margin:16px 0}.book-content pre code{background:none;color:inherit;padding:0}.book-content blockquote{border-left:4px solid var(--primary);padding:12px 16px;margin:16px 0;background:var(--paper-soft);border-radius:0 var(--radius) var(--radius) 0}.toolbar-wrapper{position:sticky;top:0;flex-shrink:0;border-bottom:1px solid var(--header-border);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:25}.content-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;max-width:960px;margin:0 auto;width:100%}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.font-size-label{font-size:12px;color:var(--text-secondary);min-width:20px;text-align:center}.font-size-group{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.font-size-group .btn-font-minus,.font-size-group .btn-font-plus{padding:4px 8px;font-size:14px;font-weight:600;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.font-size-group .btn-font-minus:hover,.font-size-group .btn-font-plus:hover{background:var(--bg-sidebar);color:var(--text)}.font-size-group .font-size-value{padding:4px 6px;font-size:13px;color:var(--text);min-width:24px;text-align:center;border-left:1px solid var(--border);border-right:1px solid var(--border)}.toolbar-mobile-tools{display:none}@media (max-width: 1024px){.toolbar-mobile-tools{display:inline-flex;align-items:center;gap:6px}.toolbar-mobile-tools .mobile-tool-btn{width:36px;height:36px;border:1px solid var(--paper-line);border-radius:8px;background:var(--surface);color:var(--ink-1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:0!important;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.toolbar-mobile-tools .mobile-tool-btn:hover{background:var(--paper-soft);color:var(--vermilion);border-color:var(--vermilion)}.toolbar-mobile-tools .mobile-tool-btn.active{background:var(--vermilion);color:#fff;border-color:var(--vermilion)}.toolbar-mobile-tools .font-size-group{height:36px;border-radius:8px;background:var(--surface)}}@media (max-width: 768px){.content-toolbar{flex-direction:column;padding:8px 12px;gap:8px}.toolbar-left{width:100%;justify-content:flex-start}.toolbar-left span{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-right{width:100%;justify-content:flex-end;gap:8px}.toolbar-right .btn-icon-only .btn-text,.toolbar-right .tts-btn .btn-text,.toolbar-right .btn-icon-text .btn-text,.toolbar-right .btn-icon-text .btn-count{display:none}.toolbar-right .btn-icon-only,.toolbar-right .tts-btn,.toolbar-right .btn-icon-text{padding:6px;min-width:36px;height:36px}.font-size-group{height:36px}.font-size-group .btn-font-minus,.font-size-group .btn-font-plus{padding:0 10px;font-size:15px}.font-size-group .font-size-value{padding:0 6px;font-size:14px}}.annotated-text{background:var(--annotation-bg);border-bottom:2px solid var(--annotation-underline);cursor:pointer;padding:0 2px;border-radius:2px;transition:background .2s}.annotated-text:hover{background:#6091e659}.author-annotated-text{background:#c49a3c26;border-bottom:2px solid #c49a3c;cursor:pointer;padding:0 2px;border-radius:2px;transition:background .2s}.author-annotated-text:hover{background:#c49a3c4d}.community-highlight{cursor:pointer;padding:0 2px;border-radius:2px;transition:background .15s;background:#98fbcc26!important}.community-highlight-1{background:#98fbcc26!important}.community-highlight-2{background:#98fbcc40!important}.community-highlight-3{background:#98fbcc59!important}.community-highlight-5{background:#98fbcc80!important}.community-highlight:hover{background:#98fbcc99!important}.annotation-popover{position:fixed;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:12px 16px;max-width:320px;z-index:200;font-size:14px}.annotation-popover .note-text{color:var(--text);line-height:1.6;margin-bottom:8px}.annotation-popover .note-actions{display:flex;gap:8px;justify-content:flex-end}.annotation-input-popup{position:fixed;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px;width:300px;z-index:200}@media (max-width: 768px){.annotation-input-popup{top:56px!important;left:8px!important;right:8px;width:auto;z-index:1200}}.annotation-input-popup .textarea{min-height:80px;margin-bottom:8px}.annotation-input-popup .actions{display:flex;gap:8px;justify-content:flex-end}.chat-panel{width:360px;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:margin-right .3s;height:100%;overflow:hidden}.chat-panel.collapsed{margin-right:-360px}.chat-header{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.6;word-break:break-word}.chat-msg.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-msg.assistant{align-self:flex-start;background:var(--bg-sidebar);border-bottom-left-radius:4px}.chat-msg.assistant p{margin:4px 0}.chat-msg.assistant code{background:#0000000f;font-size:13px}.chat-input-area{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0}.chat-input-area .input{flex:1}.notes-panel{width:320px;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.notes-header{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;display:flex;align-items:center;justify-content:space-between}.notes-list{flex:1;overflow-y:auto;padding:12px}.note-card{padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;font-size:13px}.note-card .note-excerpt{color:var(--text-secondary);font-style:italic;margin-bottom:6px;padding:6px 8px;background:var(--annotation-bg);border-radius:4px;border-left:3px solid var(--annotation-underline)}.note-card .note-content{color:var(--text);line-height:1.5}.note-card .note-meta{color:var(--text-light);font-size:12px;margin-top:6px}.note-module-group{margin-bottom:2px}.note-module-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;border-radius:var(--radius);font-size:14px;transition:background .2s}.note-module-header:hover{background:var(--bg-sidebar)}.note-module-header.active{background:var(--bg-sidebar);font-weight:600}.note-module-arrow{font-size:12px;color:var(--text-light);width:14px}.note-module-count{font-size:11px;background:var(--primary);color:#fff;border-radius:10px;padding:1px 7px;min-width:20px;text-align:center}.note-module-body{padding:4px 8px 8px 20px}.note-chat-badge{font-size:11px;color:var(--primary);font-weight:600;margin-bottom:4px}.chat-msg{position:relative}.chat-save-note{position:absolute;bottom:4px;right:4px;opacity:0;transition:opacity .2s;padding:2px 6px!important;font-size:11px!important}.chat-msg:hover .chat-save-note{opacity:1}.progress-bar-container{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-sidebar)}.progress-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.progress-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s}.home-view{display:flex;align-items:center;justify-content:center;flex:1;padding:40px 20px}.course-input-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px;max-width:640px;width:100%}.course-input-card h2{font-size:24px;margin-bottom:8px}.course-input-card .subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:15px}.course-input-card .form-group{margin-bottom:16px}.course-input-card label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.course-list{margin-top:32px}.course-list h3{font-size:16px;margin-bottom:12px;color:var(--text-secondary)}.course-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;transition:all .2s}.course-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.course-card .course-info h4{font-size:15px;margin-bottom:2px}.course-card .course-info p{font-size:13px;color:var(--text-secondary)}.course-card .course-meta{font-size:12px;color:var(--text-light);text-align:right}.settings-view{max-width:560px;margin:40px auto;padding:0 20px}.settings-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px}.settings-card h2{font-size:20px;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}.form-group .hint{font-size:12px;color:var(--text-light);margin-top:4px}.test-result{margin-top:12px;padding:10px 14px;border-radius:var(--radius);font-size:13px}.test-result.success{background:#dcfce7;color:#166534}.test-result.error{background:#fee2e2;color:#991b1b}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.voice-chip{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;font-size:13px;transition:all .2s}.voice-chip:hover{border-color:var(--primary-light);background:var(--bg-sidebar)}.voice-chip.active{border-color:var(--primary);background:#6b5c3e14;font-weight:600}.voice-chip.previewing{border-color:var(--warning)}.voice-icon{font-size:16px}.voice-name{flex:1}.voice-preview-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;opacity:.5;transition:opacity .2s}.voice-preview-btn:hover{opacity:1;background:var(--bg-sidebar)}.loading-dots:after{content:"";animation:dots 1.5s infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tts-btn{display:flex;align-items:center;gap:6px}.tts-btn.playing{color:var(--primary)}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:52px;bottom:56px;z-index:50}.sidebar.collapsed{margin-left:-280px}.chat-panel{position:fixed;right:0;top:52px;bottom:56px;z-index:50}.chat-panel.collapsed{margin-right:-360px}.notes-panel{position:fixed;right:0;top:52px;bottom:56px;z-index:50}.book-content{padding:24px 16px}.content-toolbar{padding:6px 12px;flex-wrap:wrap;gap:4px;min-height:44px}.toolbar-left,.toolbar-right{gap:4px;flex-wrap:wrap}.toolbar-left{flex:1;min-width:0}.toolbar-right{flex-shrink:0}.toolbar-right .btn{padding:5px 8px;font-size:13px;white-space:nowrap}.toolbar-right .btn-sm{padding:4px 8px;font-size:12px}.toolbar-right .btn-text{display:none}.toolbar-right .btn-font{min-width:32px}.course-input-card,.bookshelf-view,.settings-view,.notes-page{padding:24px 16px}}::selection{background:#4f46e533}.bookshelf-view{flex:1;padding:32px 40px;overflow-y:auto}.bookshelf-header{text-align:center;margin-bottom:32px}.bookshelf-header h2{font-size:24px}.bookshelf-header .subtitle{color:var(--text-secondary);margin-top:4px}.bookshelf{max-width:900px;margin:0 auto}.shelf-row{position:relative;display:flex;gap:5px;padding:24px 20px 16px;margin-bottom:20px;min-height:210px;align-items:flex-end;background:linear-gradient(180deg,#f5ede0,#ede0cc);border-radius:4px 4px 0 0}.shelf-board{position:absolute;bottom:0;left:0;right:0;height:14px;background:linear-gradient(180deg,#c9a87c,#a07850);border-radius:2px;box-shadow:0 3px 8px #0003;pointer-events:auto}.book-wrapper{position:relative;z-index:1;flex-shrink:0}.book{width:52px;height:192px;cursor:pointer;transition:transform .22s ease,filter .22s ease}.book:hover{transform:translateY(-14px) rotate(-1deg);filter:none}.book-cover{width:100%;height:100%;background:linear-gradient(180deg,var(--book-paper, #f4ecdf) 0%,color-mix(in srgb,var(--book-paper, #f4ecdf) 88%,#ffffff 12%) 100%);border:1px solid rgba(203,194,182,.9);border-radius:6px 8px 8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 0 10px;color:#322e29;box-shadow:-6px 10px 20px #24201c1a,inset 7px 0 #9d948824,inset 8px 0 #ffffff80,inset 0 1px #fff6;position:relative;overflow:hidden}.book-cover:before{content:"";position:absolute;left:0;right:0;top:0;height:13px;background:linear-gradient(180deg,var(--book-edge, #c9a16f) 0%,color-mix(in srgb,var(--book-edge, #c9a16f) 54%,#ffffff 46%) 100%);border-bottom:1px solid rgba(255,255,255,.65);pointer-events:none}.book-title{writing-mode:vertical-rl;text-orientation:mixed;font-size:12px;font-weight:700;line-height:1.2;flex:1;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap;text-align:center;text-shadow:none;letter-spacing:.02em;color:#3b352f}.book-meta{writing-mode:vertical-rl;font-size:10px;opacity:1;color:#8a837b;margin-top:4px}.book-delete{position:absolute;top:-10px;left:2px;width:24px;height:24px;border-radius:50%;border:none;background:var(--danger);color:#fff;font-size:11px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:2;box-shadow:0 6px 12px #b24a3a42}.book-wrapper:hover .book-delete{display:flex}.book-rename{position:absolute;bottom:-10px;left:2px;width:24px;height:24px;border-radius:50%;border:none;background:var(--primary);color:#fff;font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:2;box-shadow:0 6px 12px #3345373d}.book-wrapper:hover .book-rename{display:flex}.book-rename-popup{position:absolute;bottom:-46px;left:50%;transform:translate(-50%);z-index:10;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000026}.book-rename-input{width:120px;font-size:12px;padding:3px 6px;border:1px solid var(--primary);border-radius:4px;outline:none;background:var(--bg-input, #fff);color:var(--text-primary)}.book-rename-confirm{display:block;width:100%;margin-top:4px;padding:3px 0;font-size:12px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.book-rename-confirm:hover{opacity:.85}.book-color-btn{position:absolute;bottom:-10px;right:2px;width:24px;height:24px;border-radius:50%;border:none;background:var(--bg-card);border:1px solid var(--border);font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:2;padding:0;box-shadow:0 6px 12px #1c1c181f}.book-wrapper:hover .book-color-btn{display:flex}.color-picker-popup{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);z-index:10;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px;box-shadow:0 4px 16px #00000026}.color-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.color-swatch{width:22px;height:22px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text)}.notes-view{flex:1;overflow:hidden}.notes-view-container{display:flex;height:calc(100vh - 108px)}.notes-sidebar{width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0}.notes-course-list{padding:8px}.notes-course-title{display:flex;align-items:center;gap:6px;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600;border-radius:var(--radius);transition:background .2s}.notes-course-title:hover{background:var(--border)}.notes-module-item{display:flex;align-items:center;padding:7px 12px 7px 28px;cursor:pointer;font-size:13px;border-radius:var(--radius);transition:background .2s}.notes-module-item:hover{background:var(--border)}.notes-module-item.active{background:var(--primary);color:#fff}.notes-main{flex:1;overflow-y:auto;background:var(--bg-card)}.book-content blockquote{border-left:4px solid var(--primary);padding:14px 18px;margin:20px 0;background:linear-gradient(135deg,var(--paper-soft),var(--paper-deep));border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-1);font-style:italic;line-height:1.8;position:relative}.book-content blockquote:before{content:"“";position:absolute;top:-8px;left:8px;font-size:40px;color:var(--primary-light);opacity:.4;font-style:normal}.chat-timeline{flex:1;overflow-y:auto;padding:28px 32px 24px;max-width:960px;margin:0 auto;scrollbar-width:none;-ms-overflow-style:none}.chat-timeline::-webkit-scrollbar{display:none}.chat-timeline-content{width:100%;display:flex;flex-direction:column;gap:16px}.bubble{max-width:720px;padding:24px 28px;border-radius:16px;line-height:1.95;word-break:break-word;animation:bubbleIn .35s ease-out both}.bubble-content{align-self:flex-start;background:#fffdf7;border:1px solid var(--border);border-bottom-left-radius:4px;box-shadow:var(--shadow);max-width:100%}.bubble-user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;max-width:75%;font-size:14px}.bubble-reply{align-self:flex-start;background:#f5f0e3;border-bottom-left-radius:4px;max-width:100%}.bubble-body h1{font-size:22px;margin-bottom:6px}.bubble-body h2{font-size:18px;margin:16px 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px}.bubble-body h3{font-size:16px;margin:12px 0 6px}.bubble-body p{margin:0 0 20px;line-height:1.95}.bubble-body p:last-child{margin-bottom:0}.bubble-body ul,.bubble-body ol{margin:8px 0;padding-left:20px}.bubble-body li{margin:4px 0;line-height:1.95}.bubble-body code{background:#f0ead8;padding:2px 6px;border-radius:4px;font-size:13px}.bubble-body pre{background:#2c2416;color:#e8e0d0;padding:12px;border-radius:var(--radius);overflow-x:auto;margin:12px 0}.bubble-body pre code{background:none;color:inherit;padding:0}.bubble-body,.lesson-body{overflow-x:auto}.bubble-body table,.lesson-body table{width:100%;border-collapse:collapse;margin:16px 0 20px;background:#fffdf8;border:1px solid #d7cdb8;font-family:var(--font-cjk-serif);font-size:.94em;line-height:1.65}.bubble-body th,.bubble-body td,.lesson-body th,.lesson-body td{border:1px solid #d7cdb8;padding:9px 12px;text-align:center;vertical-align:middle}.bubble-body th,.lesson-body th{background:#f2eadb;color:#3d3222;font-weight:700;letter-spacing:.02em}.bubble-body td,.lesson-body td{font-weight:500}.bubble-body tr:nth-child(2n) td,.lesson-body tr:nth-child(2n) td{background:#f5f0e373}.bubble-body img{max-width:100%;height:auto;border-radius:8px;margin:12px 0;display:block;box-shadow:0 4px 12px #0000001a;transition:transform .2s,box-shadow .2s}.bubble-body img:hover{transform:scale(1.02);box-shadow:0 8px 24px #00000026}.bubble-body img+img{margin-top:8px}.bubble-body p:has(img){margin:12px 0}.bubble-body blockquote{border-left:4px solid var(--primary);padding:10px 14px;margin:12px 0;background:linear-gradient(135deg,var(--paper-soft),var(--paper-deep));border-radius:0 var(--radius) var(--radius) 0;font-style:italic}.bubble-user .bubble-body code{background:#fff3}.bubble-body .katex,.bubble-body .katex *{word-break:normal;overflow-wrap:normal}.bubble-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}.streaming-indicator{font-size:13px;color:var(--text-light);margin-top:4px}.bubble-footer{display:flex;justify-content:flex-end;margin-top:8px;padding-top:6px;border-top:1px solid var(--border)}.tts-seg-btn{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;font-size:16px;opacity:.5;transition:opacity .2s,background .2s}.tts-seg-btn:hover{opacity:1;background:var(--bg-sidebar)}.tts-seg-btn .tts-playing{animation:ttsPulse 1s ease-in-out infinite}@keyframes ttsPulse{0%,to{opacity:1}50%{opacity:.4}}.inline-continue{text-align:right;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.btn-inline-continue{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-inline-continue:hover{background:var(--primary-dark, #5a4d34)}.btn-inline-continue:disabled{opacity:.5;cursor:not-allowed}.direction-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;animation:bubbleIn .3s ease-out both}.direction-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.direction-buttons{display:flex;flex-wrap:wrap;gap:6px;flex:1}.direction-btn{font-size:12px!important;border-style:dashed!important;border-color:var(--primary-light)!important;color:var(--primary)!important;transition:all .2s}.direction-btn:hover{background:var(--primary)!important;color:#fff!important;border-style:solid!important}.chat-input-bar{display:flex;gap:8px;padding:12px 32px;max-width:960px;margin:0 auto;width:100%;border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0}.chat-input-bar .input{flex:1}@media (max-width: 768px){.chat-timeline{padding:20px 14px calc(110px + env(safe-area-inset-bottom,0px));touch-action:auto;-webkit-user-select:text;user-select:text}.chat-timeline .bubble-body,.chat-timeline .bubble-body *,.chat-timeline .bubble-content{-webkit-user-select:text;user-select:text}.chat-input-bar{padding:10px 12px}.bubble{max-width:100%;padding:16px 18px}.bubble-content{max-width:100%;align-self:stretch;border-radius:10px}}.login-view{display:flex;align-items:center;justify-content:center;min-height:100vh;background:transparent}.login-card{background:#fffdf8b3;border-radius:28px;box-shadow:var(--shadow-lg);padding:40px;max-width:400px;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card h2{font-size:24px;margin-bottom:4px}.login-card .subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.login-form .form-group{margin-bottom:16px}.login-submit{width:100%;justify-content:center;margin-top:8px}.login-error{color:var(--danger);font-size:13px;margin-bottom:8px}.login-toggle{text-align:center;margin-top:16px;font-size:13px;color:var(--text-secondary)}.login-toggle a{color:var(--primary);text-decoration:none;font-weight:500}.login-toggle a:hover{text-decoration:underline}.navbar-user{display:flex;align-items:center;gap:10px}.navbar-username{font-size:14px;color:var(--text-secondary)}.shelf-decoration{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;z-index:10;display:flex;align-items:center;justify-content:center;transition:transform .1s}.shelf-decoration.is-alive{cursor:pointer;animation:gentle-float 3s ease-in-out infinite}@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.dec-image{width:36px;height:36px;object-fit:contain}.dec-emoji{font-size:28px;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2))}.companion-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:10px;background:#fff;padding:10px 14px;border-radius:16px;box-shadow:0 4px 12px #00000026;min-width:140px;max-width:220px;cursor:pointer;animation:bubble-pop .3s ease;z-index:100;font-size:13px;color:#333;line-height:1.4}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}.companion-bubble .bubble-content{word-break:break-word}.bubble-tail{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white}.dec-toolbar{position:absolute;bottom:100%;left:50%;transform:translate(-50%);display:flex;gap:4px;background:#fff;padding:4px;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-bottom:8px;z-index:20}.dec-btn{width:26px;height:26px;border:none;background:#f3f4f6;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center}.dec-btn:hover{background:#e5e7eb}.dec-close-btn{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:none;background:#ef4444;color:#fff;font-size:10px;cursor:pointer;z-index:30}.dec-close-btn:hover{background:#dc2626}.magic-wand-btn{position:fixed;bottom:30px;right:30px;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#d4af37,#f4d03f);font-size:26px;cursor:pointer;box-shadow:0 4px 15px #d4af3766;transition:all .2s;z-index:100}.magic-wand-btn:hover{transform:scale(1.1) rotate(15deg);box-shadow:0 6px 20px #d4af3780}.chat-input-panel{position:fixed;bottom:100px;right:30px;width:320px;background:var(--bg-card);border-radius:16px;box-shadow:0 8px 32px #0003;z-index:1000;overflow:hidden;animation:slide-up .3s ease;border:1px solid var(--border)}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-input-panel .chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(90deg,#d4af37,#f4d03f);color:#4a3c2e;font-weight:600}.chat-input-panel .chat-header button{background:none;border:none;font-size:16px;cursor:pointer;color:#4a3c2e}.chat-input-panel .chat-messages{max-height:240px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-input-panel .msg{max-width:80%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.5}.chat-input-panel .msg.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-input-panel .msg.companion{align-self:flex-start;background:var(--bg-sidebar);color:var(--text);border-bottom-left-radius:4px}.chat-input-panel .msg.typing span{display:inline-block;width:6px;height:6px;background:#d4af37;border-radius:50%;margin:0 2px;animation:typing 1s infinite}.chat-input-panel .msg.typing span:nth-child(2){animation-delay:.2s}.chat-input-panel .msg.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chat-input-panel .chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.chat-input-panel .chat-input input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:20px;font-size:13px;outline:none;background:var(--bg)}.chat-input-panel .chat-input input:focus{border-color:#d4af37}.chat-input-panel .chat-input button{padding:10px 16px;background:#d4af37;border:none;border-radius:20px;color:#4a3c2e;font-weight:600;cursor:pointer}.chat-input-panel .chat-input button:disabled{opacity:.5;cursor:not-allowed}#app.archivist-theme .btn-primary{border-color:#746d652e;box-shadow:inset 0 1px #ffffffad}#app.archivist-theme .btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffc7,0 8px 18px #33453712}#app.archivist-theme .btn-secondary{background:linear-gradient(180deg,#fffdf8eb,#f7f0e5eb);border-color:#b5987a4d}#app.archivist-theme .btn-secondary:hover{background:linear-gradient(180deg,#fffbf4fa,#f5ecdff5);border-color:#946a5066}#app.archivist-theme .input,#app.archivist-theme .textarea{background:#fffcf6f0}#app.archivist-theme .input:focus,#app.archivist-theme .textarea:focus{box-shadow:0 0 0 3px #87513e24}#app.archivist-theme .course-input-card,#app.archivist-theme .settings-card,#app.archivist-theme .leaderboard-view,#app.archivist-theme .mailbox-list-panel,#app.archivist-theme .mailbox-detail,#app.archivist-theme .community-view{border:1px solid var(--paper-line);box-shadow:var(--shadow-card)}#app.archivist-theme .home-view,#app.archivist-theme .settings-view{padding-top:36px;padding-bottom:80px}#app.archivist-theme .settings-view{max-width:980px;margin:0 auto}#app.archivist-theme .settings-card{border-radius:14px;padding:28px;background:var(--surface);border:1px solid var(--paper-line)}#app.archivist-theme .settings-card h2{font-size:22px;margin-bottom:18px}#app.archivist-theme .usage-stat{border:1px solid var(--paper-line);background:var(--surface-soft)}#app.archivist-theme .explore-tabs{border-bottom:none;padding:0;background:transparent}#app.archivist-theme .explore-tab{border-radius:12px;border:1px solid transparent;margin-bottom:0;padding:10px 16px}#app.archivist-theme .explore-tab.active{color:var(--ink);border-bottom-color:var(--paper-line);background:var(--surface)}#app.archivist-theme .community-view{max-width:1160px;margin-top:20px;margin-bottom:28px;padding:28px;border-radius:16px;border:1px solid var(--paper-line);background:var(--surface)}#app.archivist-theme .community-header{margin-bottom:22px}#app.archivist-theme .community-header h2{font-size:clamp(28px,3vw,36px);font-weight:600}#app.archivist-theme .search-input,#app.archivist-theme .filter-select{background:var(--surface);color:var(--ink);border-color:var(--paper-edge);border-radius:10px;min-height:38px}#app.archivist-theme .book-grid{gap:18px}#app.archivist-theme .book-card{border-radius:14px;border:1px solid var(--paper-line);background:var(--surface);box-shadow:var(--shadow-card)}#app.archivist-theme .book-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}#app.archivist-theme .detail-modal{border:1px solid var(--paper-edge);box-shadow:var(--shadow-lift)}#app.archivist-theme .leaderboard-view{border-radius:16px;margin-top:20px;margin-bottom:28px;max-width:760px;border:1px solid var(--paper-line);background:var(--surface)}#app.archivist-theme .lb-tabs{border-bottom-color:var(--paper-line)}#app.archivist-theme .lb-item{border:1px solid var(--paper-line);background:var(--surface-soft)}#app.archivist-theme .mailbox-view{background:transparent}#app.archivist-theme .mailbox-sidebar,#app.archivist-theme .mailbox-list-panel,#app.archivist-theme .mailbox-detail{background:var(--surface)}#app.archivist-theme .mailbox-sidebar{background:var(--surface-soft)}#app.archivist-theme .mailbox-list-panel{width:320px;border-radius:0}#app.archivist-theme .mailbox-detail{padding:34px 34px 44px}#app.archivist-theme .list-item{border-bottom-color:var(--paper-line)}#app.archivist-theme .list-item.active{background:#87513e1a}#app.archivist-theme .profile-view{padding:60px 28px 110px}#app.archivist-theme .profile-shell{width:min(1160px,calc(100vw - 56px));padding:40px 36px;border-radius:16px;box-shadow:0 20px 44px #53362614}#app.archivist-theme .progress-card{margin-top:20px;padding:22px 24px}#app.archivist-theme .profile-grid{margin-top:24px;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:22px}#app.archivist-theme .reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#app.archivist-theme .reward-row{min-height:56px}@media (max-width: 1024px){#app.archivist-theme .profile-shell{width:min(100vw - 30px,100%);padding:24px 18px}#app.archivist-theme .profile-grid,#app.archivist-theme .reward-grid{grid-template-columns:1fr}}@media (max-width: 768px){#app.archivist-theme .community-view,#app.archivist-theme .leaderboard-view{margin-top:8px;margin-bottom:16px;padding:14px 12px;border-radius:12px}#app.archivist-theme .settings-card{padding:18px 14px;border-radius:12px}#app.archivist-theme .mailbox-list-panel{width:100%;border-radius:0;border-left:none;border-right:none}#app.archivist-theme .mailbox-detail{padding:14px}}.cite-circle{display:inline-block;box-sizing:border-box;width:18px;height:18px;min-height:0;padding:0;margin:0 3px;border-radius:50%;border:1px solid var(--ocean);background:var(--surface);color:var(--ocean);font-family:var(--latin);font-size:10px;font-weight:600;line-height:16px;text-align:center;cursor:pointer;vertical-align:1px;letter-spacing:-.5px;flex-shrink:0;transition:background .15s,color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cite-circle:hover{background:var(--ocean);color:#fff}.cite-popover{position:absolute;width:320px;max-height:280px;background:var(--surface);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:var(--shadow-lift);z-index:9999;display:flex;flex-direction:column;font-family:var(--sans)}.cite-popover__head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--paper-line)}.cite-popover__tag{font-family:var(--latin);font-size:11px;letter-spacing:.06em;color:var(--ocean);font-weight:600}.cite-popover__close{background:transparent;border:none;font-size:18px;line-height:1;color:var(--ink-3);cursor:pointer;padding:0 2px}.cite-popover__close:hover{color:var(--ink)}.cite-popover__body{padding:10px 12px;font-size:12.5px;line-height:1.65;color:var(--ink-1);white-space:pre-wrap;word-break:break-word;overflow-y:auto;flex:1}@media (max-width: 768px){.cite-popover{width:calc(100vw - 24px);max-height:50vh}}:root{--reader-bg: #FAF6EE;--reader-sidebar-bg: #F5F0E3;--reader-text: #1C1C1A;--reader-text-body: #3C3830;--reader-text-secondary: #B0ACA6;--reader-text-muted: #B8B4AE;--reader-border: #E0DCD6;--reader-border-light: #D0CCC6;--reader-highlight: #EDE8DC;--reader-primary: #1C1C1A;--reader-primary-text: #F5F0E8;--reader-bar-bg: rgba(250, 246, 238, .9);--reader-bar-border: rgba(224, 220, 214, .9);--reader-card-bg: rgba(255, 253, 249, .92);--reader-quote: #8A8680;--reader-user-grad: linear-gradient(180deg, #80674d 0%, #1C1C1A 100%);--reader-user-text: #F5F0E8}[data-theme=eye]{--reader-bg: #EFF3EA;--reader-sidebar-bg: #EAEFE3;--reader-text: #1F2A20;--reader-text-body: #2E3930;--reader-text-secondary: #7B8273;--reader-text-muted: #97A089;--reader-border: #D9DFC8;--reader-border-light: #C5CDB0;--reader-highlight: #DCE6CC;--reader-primary: #1F2A20;--reader-primary-text: #EFF3EA;--reader-bar-bg: rgba(239, 243, 234, .9);--reader-bar-border: rgba(60, 75, 50, .14);--reader-card-bg: rgba(245, 248, 239, .92);--reader-quote: #6F7560;--reader-user-grad: linear-gradient(180deg, #6f7a4d 0%, #2E3930 100%);--reader-user-text: #EFF3EA}[data-theme=dark]{--reader-bg: #1A1F2C;--reader-sidebar-bg: #1F2432;--reader-text: #E8E5DD;--reader-text-body: #D2CEC3;--reader-text-secondary: #9A9586;--reader-text-muted: #76715F;--reader-border: #2D3447;--reader-border-light: #3A4358;--reader-highlight: rgba(120, 145, 192, .22);--reader-primary: #C9C5B8;--reader-primary-text: #1A1F2C;--reader-bar-bg: rgba(26, 31, 44, .86);--reader-bar-border: rgba(255, 255, 255, .07);--reader-card-bg: rgba(42, 48, 69, .55);--reader-quote: #9A9586;--reader-user-grad: linear-gradient(180deg, #8a6f50 0%, #5f4d39 100%);--reader-user-text: #F5F0E8}.reader-toolbar{position:fixed;top:48px;left:0;right:0;height:48px;background:var(--reader-bar-bg);border-bottom:.5px solid var(--reader-bar-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:100}.reader-toolbar-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.reader-toolbar-right{display:flex;align-items:center;gap:0}.btn-sidebar-toggle{width:32px;height:32px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--reader-text-secondary)}.btn-sidebar-toggle svg{width:18px;height:18px;stroke-width:1.1;stroke:currentColor;fill:none}.reader-module-title{font-size:13px;font-weight:400;color:var(--reader-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-group{display:flex;align-items:center;padding:0 8px;border-right:.5px solid var(--reader-border)}.toolbar-group:last-child{border-right:none;padding-right:0}.toolbar-group:first-child{padding-left:0}.btn-font-size{height:28px;padding:0 8px;border:.5px solid var(--reader-border);background:transparent;color:var(--reader-text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-font-size:first-child{border-radius:3px 0 0 3px;border-right:none}.btn-font-size:last-child{border-radius:0 3px 3px 0;border-left:none}.font-size-value{height:28px;min-width:28px;border-top:.5px solid var(--reader-border);border-bottom:.5px solid var(--reader-border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--reader-text-body)}.btn-icon-reader{width:28px;height:28px;border:.5px solid var(--reader-border);border-radius:3px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--reader-text-secondary);margin-left:8px}.btn-icon-reader svg{width:14px;height:14px;stroke-width:1.1;stroke:currentColor;fill:none}.btn-complete{height:28px;padding:0 12px;background:var(--reader-primary);color:var(--reader-primary-text);border:none;border-radius:3px;font-size:12px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:6px;margin-left:8px}.btn-complete svg{width:12px;height:12px;stroke-width:1.5;stroke:currentColor;fill:none}.btn-complete.completed{background:transparent;color:var(--reader-text-secondary);border:.5px solid var(--reader-border)}.reader-sidebar{position:fixed;left:0;top:96px;bottom:0;width:280px;background:var(--reader-sidebar-bg);border-right:.5px solid var(--reader-border);display:flex;flex-direction:column;z-index:50;transition:margin-left .3s}.reader-sidebar.collapsed{margin-left:-280px}.reader-sidebar-header{padding:18px 18px 12px;border-bottom:.5px solid var(--reader-border)}.reader-course-title{font-size:13px;font-weight:500;color:var(--reader-text);line-height:1.4}.reader-module-count{font-size:11px;color:var(--reader-text-muted);margin-top:4px}.reader-module-list{flex:1;overflow-y:auto;padding:8px 0}.reader-module-item{display:flex;align-items:center;gap:10px;padding:10px 18px;cursor:pointer;transition:background .15s}.reader-module-item:hover{background:#00000005}.reader-module-item.active{background:#0000000a}.reader-module-item.active .reader-module-item-title{color:var(--reader-text);font-weight:500}.reader-module-check{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--reader-text);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent}.reader-module-check.completed svg{width:10px;height:10px;stroke:var(--reader-text);stroke-width:2.5;fill:none}.reader-module-item-title{font-size:11px;line-height:1.5;color:var(--reader-text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.reader-sidebar-footer{padding:12px 18px;border-top:.5px solid var(--reader-border)}.reader-progress-text{font-size:10px;color:var(--reader-text-muted);margin-bottom:6px}.reader-progress-bar{height:2px;background:var(--reader-border);border-radius:1px;overflow:hidden}.reader-progress-fill{height:100%;background:var(--reader-primary);border-radius:1px;transition:width .3s}.content-area{margin-left:280px;transition:margin-left .3s}.content-area.sidebar-collapsed{margin-left:0}.reader-main{margin-left:280px;padding-top:96px;min-height:100vh;background:var(--reader-bg);transition:margin-left .3s}.reader-main.sidebar-collapsed{margin-left:0}.reader-content-wrapper{max-width:540px;margin:0 auto;padding:40px 24px 100px}.reader-lesson-label{font-size:10px;letter-spacing:.12em;color:var(--reader-text-muted);text-transform:uppercase;margin-bottom:12px}.reader-lesson-title{font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.25;color:var(--reader-text);margin-bottom:32px}.reader-body{font-size:14px;line-height:1.95;color:var(--reader-text-body)}.reader-body p{margin-bottom:18px}.reader-body blockquote{border-left:1.5px solid var(--reader-border-light);padding:0 0 0 16px;margin:20px 0;background:transparent}.reader-body blockquote p{font-size:13px;color:var(--reader-quote);font-style:italic;line-height:1.8;margin-bottom:8px}.reader-body blockquote cite{font-size:11px;color:var(--reader-text-muted);font-style:normal}.reader-highlight{background:var(--reader-highlight)}.reader-chat-area{width:min(820px,calc(100% - 64px));max-width:none;margin:0 auto;padding:32px 0 64px}.reader-bubble,.bubble-content,.bubble-reply{max-width:820px!important;width:100%;margin:0 auto 4px;padding:8px 0 28px;animation:bubbleIn .35s ease-out both;border:none;border-radius:0;box-shadow:none;background:transparent}.bubble-query{max-width:820px!important;width:100%;margin:0 auto 14px;padding:16px 20px;animation:bubbleIn .35s ease-out both;border:1px solid var(--reader-bar-border);border-radius:14px;box-shadow:none;background:var(--reader-card-bg)}.bubble-user{max-width:820px!important;width:100%;margin:0 auto 14px;padding:14px 20px;animation:bubbleIn .35s ease-out both;border:1px solid transparent;border-radius:14px;background:var(--reader-user-grad);color:var(--reader-user-text)}.reader-bubble p,.bubble-content p,.bubble-reply p,.bubble-user p,.bubble-query p,.bubble-body p{line-height:1.95;margin-bottom:20px}.reader-bubble,.bubble-content,.bubble-reply,.bubble-user,.bubble-query,.bubble-body{line-height:1.95}@keyframes bubbleIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reader-input-bar{position:fixed;bottom:0;left:280px;right:320px;background:var(--reader-bar-bg);border-top:.5px solid var(--reader-bar-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 24px;display:flex;gap:12px;align-items:center;z-index:50;transition:left .3s,right .3s}.reader-input-bar:before{content:"";flex:1 1 0;max-width:calc((100% - min(920px,calc(100% - 72px)))/2)}.reader-input-bar:after{content:"";flex:1 1 0;max-width:calc((100% - min(920px,calc(100% - 72px)))/2)}.reader-input-bar.notes-closed{right:0}.reader-input-bar.sidebar-collapsed{left:0}.reader-input{flex:0 1 856px;height:44px;border:.5px solid var(--reader-border-light);border-radius:14px;padding:0 16px;font-size:14px;background:var(--reader-card-bg);color:var(--reader-text-body)}@media (max-width: 1280px){.reader-chat-area{width:min(960px,calc(100% - 48px))}}.reader-input::placeholder{color:var(--reader-text-muted)}.reader-input:focus{outline:none;border-color:var(--reader-border-light)}.btn-send{width:44px;height:44px;background:var(--reader-user-grad);border:none;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.btn-send:hover:not(:disabled){opacity:.85}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-send svg{width:20px;height:20px;stroke:#fff;stroke-width:2;fill:none}.btn-send:hover svg{transform:scale(1.1);transition:transform .2s}.mobile-sidebar-close{display:none}@media (max-width: 1024px){.mobile-sidebar-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:4px;background:transparent;color:var(--ink-3);border:none;font-size:16px;line-height:1;cursor:pointer;z-index:200;transition:background .15s,color .15s;min-height:0!important}.mobile-sidebar-close:hover{background:var(--paper-soft);color:var(--ink-1)}.mobile-sidebar-close:active{background:var(--paper-line)}}@media (max-width: 768px){.reader-sidebar{width:260px;bottom:calc(124px + env(safe-area-inset-bottom,0px))}.reader-sidebar.collapsed{margin-left:-260px}.reader-main{margin-left:0}.reader-sidebar{box-shadow:2px 0 8px #0000001a}.reader-module-list{padding-bottom:16px}.reader-input-bar,.reader-input-bar.notes-closed{left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));padding:8px 16px;background:var(--paper);border-top:1px solid var(--paper-line)}.reader-input-bar:before,.reader-input-bar:after{display:none}.reader-input{flex:1}.reader-content-wrapper{padding:24px 20px 80px}.reader-chat-area{width:auto;max-width:none;margin:0;padding:20px 20px 180px}}:root,[data-theme=paper]{--paper: #FCFAF3;--paper-deep: #F6F3E9;--paper-soft: #F9F6ED;--paper-line: #ECE6D6;--paper-edge: #D7D0BC;--ink: #1B2236;--ink-1: #2D3349;--ink-2: #525871;--ink-3: #7A7E8E;--ink-4: #A8ABB5;--ink-5: #C9CBD2;--azure: #3D6092;--azure-bright: #4F73A8;--azure-soft: #DDE3EE;--azure-faint: #ECF0F6;--moss: #6B8E3F;--ocean: #4D6FA0;--plum: #6B4A6B;--gold: #B8923D;--vermilion: #A53D2E;--cyan-mute: #5A8FA0;--surface: #FFFFFF;--surface-soft: #FCFBF6;--header-bg: rgba(252, 250, 243, .85);--header-border: rgba(120, 115, 106, .12);--shelf-wood: #D4A876;--shelf-wood-light: #E8C896;--spine-sage: #B8C4A3;--spine-amber: #DCC290;--spine-sky: #B8C8D8;--spine-wheat: #E8DBB8;--shadow-quiet: 0 1px 0 rgba(27, 34, 54, .03);--shadow-card: 0 1px 2px rgba(27, 34, 54, .04), 0 4px 12px rgba(27, 34, 54, .04);--shadow-lift: 0 1px 2px rgba(27, 34, 54, .05), 0 12px 32px rgba(27, 34, 54, .07);--primary: #2D3349;--primary-light: #525871;--primary-dark: #1B2236;--accent-bronze: #8D8377;--accent-bronze-deep: #645D55;--bg-card: #FFFFFF;--bg-card-strong: #FFFFFF;--bg-sidebar: #F9F6ED;--text: #1B2236;--text-secondary: #525871;--text-light: #7A7E8E;--border: #ECE6D6;--border-light: #F6F3E9;--danger: #A53D2E;--bg-secondary: var(--surface-soft);--border-color: var(--paper-line);--text-primary: var(--ink);--serif: "Noto Serif SC", "Songti SC", "STSong", serif;--sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--latin: "Cormorant Garamond", "Times New Roman", serif;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px}[data-theme=eye]{--paper: #EFF3EA;--paper-deep: #E5EBDD;--paper-soft: #EAEFE3;--paper-line: #D9DFC8;--paper-edge: #C5CDB0;--ink: #1F2A20;--ink-1: #2E3930;--ink-2: #555F4F;--ink-3: #7B8273;--ink-4: #A4A99B;--ink-5: #C8CCBE;--azure: #3D6092;--azure-bright: #4F73A8;--azure-soft: #D6DEE6;--azure-faint: #E5EBED;--moss: #6B8E3F;--ocean: #4D6FA0;--plum: #6B4A6B;--gold: #A88334;--vermilion: #A53D2E;--cyan-mute: #5A8FA0;--surface: #F5F8EF;--surface-soft: #EBF0E1;--header-bg: rgba(239, 243, 234, .86);--header-border: rgba(60, 75, 50, .14);--shelf-wood: #C7A371;--shelf-wood-light: #DEC392;--spine-sage: #ACB89A;--spine-amber: #D4BB8A;--spine-sky: #B0C2C8;--spine-wheat: #DACDA7;--shadow-quiet: 0 1px 0 rgba(31, 42, 32, .04);--shadow-card: 0 1px 2px rgba(31, 42, 32, .05), 0 4px 12px rgba(31, 42, 32, .05);--shadow-lift: 0 1px 2px rgba(31, 42, 32, .06), 0 12px 32px rgba(31, 42, 32, .08);--primary: #2E3930;--primary-light: #555F4F;--primary-dark: #1F2A20;--accent-bronze: #84897A;--accent-bronze-deep: #5C6056;--bg-card: #F5F8EF;--bg-card-strong: #F8FAF3;--bg-sidebar: #EAEFE3;--text: #1F2A20;--text-secondary: #555F4F;--text-light: #7B8273;--border: #D9DFC8;--border-light: #E5EBDD;--danger: #A53D2E}[data-theme=dark]{--paper: #1A1F2C;--paper-deep: #141823;--paper-soft: #232838;--paper-line: #2D3447;--paper-edge: #3F4759;--ink: #E8E5DD;--ink-1: #C9C5B8;--ink-2: #9A9586;--ink-3: #76715F;--ink-4: #5B5849;--ink-5: #3F3D33;--azure: #7891C0;--azure-bright: #94A8D0;--azure-soft: #2A3A56;--azure-faint: #232E45;--moss: #95B26A;--ocean: #7894C0;--plum: #9876A0;--gold: #D4B26F;--vermilion: #D26450;--cyan-mute: #82A8B6;--surface: #232838;--surface-soft: #1F2432;--header-bg: rgba(20, 24, 35, .88);--header-border: rgba(255, 255, 255, .06);--shelf-wood: #6B5836;--shelf-wood-light: #806B45;--spine-sage: #4F5A40;--spine-amber: #6B5C36;--spine-sky: #43586E;--spine-wheat: #6F6440;--shadow-quiet: 0 1px 0 rgba(0, 0, 0, .4);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .4);--primary: #C9C5B8;--primary-light: #9A9586;--primary-dark: #E8E5DD;--accent-bronze: #9A9586;--accent-bronze-deep: #C9C5B8;--bg-card: #232838;--bg-card-strong: #2A3045;--bg-sidebar: #1F2432;--text: #E8E5DD;--text-secondary: #9A9586;--text-light: #76715F;--border: #2D3447;--border-light: #232838;--danger: #D26450}.hall-page,.chat-page,.app-shell,.archipelago,.starter,.rich-card{background-color:transparent;color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#app,#app.archivist-theme{background:var(--paper)!important;color:var(--ink);transition:background-color .25s ease,color .25s ease}#app.archivist-theme:before{background-image:linear-gradient(var(--paper-edge) 1px,transparent 1px),linear-gradient(90deg,var(--paper-edge) 1px,transparent 1px)!important;opacity:.16!important}[data-theme=dark] #app.archivist-theme:before{opacity:.06!important}.preview-banner{background:var(--surface-soft)!important;color:var(--ink-2)!important;box-shadow:inset 0 0 0 1px var(--paper-line)!important}.preview-banner-btn{background:var(--surface)!important;color:var(--azure)!important;border-color:var(--paper-line)!important}[data-theme=dark] #app.archivist-theme .community-view,[data-theme=dark] #app.archivist-theme .leaderboard-view,[data-theme=dark] #app.archivist-theme .book-card,[data-theme=dark] #app.archivist-theme .lb-item,[data-theme=dark] #app.archivist-theme .settings-card,[data-theme=dark] #app.archivist-theme .course-input-card,[data-theme=dark] #app.archivist-theme .mailbox-detail,[data-theme=dark] #app.archivist-theme .mailbox-list-panel,[data-theme=dark] #app.archivist-theme .usage-stat,[data-theme=eye] #app.archivist-theme .community-view,[data-theme=eye] #app.archivist-theme .leaderboard-view,[data-theme=eye] #app.archivist-theme .book-card,[data-theme=eye] #app.archivist-theme .lb-item,[data-theme=eye] #app.archivist-theme .settings-card,[data-theme=eye] #app.archivist-theme .course-input-card,[data-theme=eye] #app.archivist-theme .mailbox-detail,[data-theme=eye] #app.archivist-theme .mailbox-list-panel,[data-theme=eye] #app.archivist-theme .usage-stat{background:var(--surface)!important;border-color:var(--paper-line)!important;color:var(--ink)!important}[data-theme=dark] .mailbox-sidebar,[data-theme=dark] #app.archivist-theme .mailbox-sidebar,[data-theme=eye] .mailbox-sidebar,[data-theme=eye] .mailbox-view,[data-theme=dark] .mailbox-view,[data-theme=eye] #app.archivist-theme .mailbox-sidebar{background:var(--surface-soft)!important;border-color:var(--paper-line)!important}[data-theme=dark] #app.archivist-theme .search-input,[data-theme=dark] #app.archivist-theme .filter-select,[data-theme=dark] #app.archivist-theme .input,[data-theme=dark] #app.archivist-theme .textarea,[data-theme=eye] #app.archivist-theme .search-input,[data-theme=eye] #app.archivist-theme .filter-select,[data-theme=eye] #app.archivist-theme .input,[data-theme=eye] #app.archivist-theme .textarea{background:var(--surface)!important;border-color:var(--paper-edge)!important;color:var(--ink)!important}[data-theme=dark] #app.archivist-theme .explore-tab.active,[data-theme=eye] #app.archivist-theme .explore-tab.active{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--paper-line)!important}[data-theme=dark] #app.archivist-theme .btn-primary,[data-theme=eye] #app.archivist-theme .btn-primary{background:var(--azure)!important;color:#fff!important;border-color:var(--azure)!important}[data-theme=dark] #app.archivist-theme .btn-secondary,[data-theme=eye] #app.archivist-theme .btn-secondary{background:var(--surface-soft)!important;color:var(--ink-1)!important;border-color:var(--paper-line)!important}.book-spine{position:relative;flex-shrink:0;border-radius:2px 3px 3px 2px;cursor:pointer;background-image:linear-gradient(90deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.04) 4%,transparent 8%,transparent 92%,rgba(0,0,0,.04) 96%,rgba(0,0,0,.12) 100%);box-shadow:inset -1px 0 #00000014,inset 1px 0 #ffffff4d,0 1px 3px #0000000f,0 4px 12px #0000000a;transition:transform .25s cubic-bezier(.4,1.4,.6,1),box-shadow .25s}.book-spine:hover{transform:translateY(-4px);box-shadow:inset -1px 0 #00000014,inset 1px 0 #ffffff4d,0 4px 8px #00000014,0 10px 20px #0000000f;z-index:2}.book-spine[data-tone=paper]{background-color:#f1ead8}.book-spine[data-tone=cream]{background-color:#ede1c8}.book-spine[data-tone=sage]{background-color:#d8dcc6}.book-spine[data-tone=dusty]{background-color:#d0d3c4}.book-spine[data-tone=sky]{background-color:#cfd6dd}.book-spine[data-tone=mist]{background-color:#d8dee2}.book-spine[data-tone=rose]{background-color:#e3cfc3}.book-spine[data-tone=terra]{background-color:#d8b6a0}.book-spine[data-tone=ink]{background-color:#4a5360}.book-spine[data-tone=forest]{background-color:#5d6b4f}.book-spine[data-tone=burgundy]{background-color:#6b3f3f}[data-theme=dark] .book-spine[data-tone=paper]{background-color:#58523f}[data-theme=dark] .book-spine[data-tone=cream]{background-color:#5e503a}[data-theme=dark] .book-spine[data-tone=sage]{background-color:#4a5240}[data-theme=dark] .book-spine[data-tone=dusty]{background-color:#494d42}[data-theme=dark] .book-spine[data-tone=sky]{background-color:#455060}[data-theme=dark] .book-spine[data-tone=mist]{background-color:#485058}[data-theme=dark] .book-spine[data-tone=rose]{background-color:#5d4540}[data-theme=dark] .book-spine[data-tone=terra]{background-color:#6a4634}.book-spine[data-tone=ink],.book-spine[data-tone=forest],.book-spine[data-tone=burgundy],.book-spine[data-tone=terra]{--spine-text: #f0e5ce;--spine-text-faint: rgba(240, 229, 206, .55)}.book-spine{--spine-text: var(--ink);--spine-text-faint: var(--ink-3)}[data-theme=dark] .book-spine{--spine-text: var(--ink-1);--spine-text-faint: var(--ink-3)}.book-spine .spine-title{position:absolute;top:22px;bottom:34px;left:0;right:0;display:flex;align-items:flex-start;justify-content:center;padding:4px 6px;writing-mode:vertical-rl;text-orientation:upright;font-family:var(--serif);font-weight:500;letter-spacing:.04em;line-height:1.1;overflow:hidden;color:var(--spine-text)}.book-spine .spine-band{position:absolute;top:12px;left:0;right:0;height:3px;background:currentColor;opacity:.85}.book-spine .spine-foot{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.08em;font-family:var(--serif);color:var(--spine-text-faint)}.group-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 60%,transparent),color-mix(in srgb,var(--surface) 25%,transparent));border:1px solid var(--paper-line);border-radius:14px;padding:16px 18px 12px;transition:border-color .25s,background .25s,box-shadow .25s;min-width:0}.group-card:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--paper-line));background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 45%,transparent));box-shadow:var(--shadow-card)}.group-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.group-card-icon{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--paper-line);flex-shrink:0}.group-card-title{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);flex:1;min-width:0;letter-spacing:.02em}.group-card-count{font-family:var(--latin);font-style:italic;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--paper-soft);color:var(--ink-3)}.shelf-scroll{display:flex;gap:8px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:var(--paper-edge) transparent;padding:0 0 10px;position:relative;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.shelf-scroll::-webkit-scrollbar{height:4px}.shelf-scroll::-webkit-scrollbar-thumb{background:var(--paper-edge);border-radius:2px}.shelf-scroll .book-spine{scroll-snap-align:start}@media (max-width: 768px){.shelf-scroll::-webkit-scrollbar{display:none}.shelf-scroll{scrollbar-width:none}}.shelf-line{position:relative}.shelf-line:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--gold) 40%,transparent) 10%,var(--gold) 50%,color-mix(in srgb,var(--gold) 40%,transparent) 90%,transparent 100%);opacity:.6}.single-book-row{display:flex;align-items:center;gap:16px}.single-book-row__meta{flex:1;min-width:0}.single-book-row__title{font-family:var(--serif);font-weight:500;font-size:15px;color:var(--ink);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single-book-row__sub{font-size:11.5px;color:var(--ink-3);margin:0 0 10px}.single-book-row__cta{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0;font-family:var(--serif);font-size:12.5px;color:var(--gold);cursor:pointer;transition:color .15s}.single-book-row__cta:hover{color:var(--azure)}.filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filter-bar.mobile-scroll{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:4px}.filter-bar.mobile-scroll::-webkit-scrollbar{display:none}.filter-chip{padding:5px 12px;border-radius:999px;font-size:12.5px;color:var(--ink-2);background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid var(--paper-line);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;cursor:pointer;font-family:var(--sans)}.filter-chip:hover{background:var(--surface);color:var(--ink)}.filter-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-chip--user{border-style:dashed}.filter-chip__dot{width:6px;height:6px;border-radius:50%}.filter-chip__dot--hollow{background:transparent;border:1px solid var(--ink-3)}.filter-chip__count{opacity:.5;font-size:11px;font-family:var(--latin);font-style:italic}.filter-chip--add{opacity:.75;font-size:12px}.bookshelf-v2-header{text-align:center;padding:24px 0 16px}.bookshelf-v2-header h1{font-family:var(--serif);font-weight:600;font-size:clamp(26px,4vw,44px);letter-spacing:.04em;color:var(--ink);margin:0;line-height:1.15}.bookshelf-v2-header__sub{font-size:12px;color:var(--ink-3);margin:4px 0 0}.compose-box{max-width:640px;margin:18px auto 0;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--paper-line);border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-quiet);transition:background .2s,border-color .2s,box-shadow .2s}.compose-box:focus-within{background:var(--surface);border-color:color-mix(in srgb,var(--gold) 60%,var(--paper-line));box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 12%,transparent)}.compose-box__icon{color:var(--ink-3);flex-shrink:0}.compose-box__input{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:14px;font-family:var(--sans);color:var(--ink)}.compose-box__input::placeholder{color:var(--ink-4)}.compose-box__btn{flex-shrink:0;padding:6px 16px;background:var(--ink);color:var(--paper);border:none;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--sans);transition:background .15s}.compose-box__btn:hover{background:var(--ink-1)}.bookshelf-empty{text-align:center;padding:80px 24px;color:var(--ink-3);font-family:var(--serif)}.bookshelf-empty p{font-size:14px;margin:12px 0 18px;letter-spacing:.04em}.bookshelf-empty button{padding:8px 20px;border:1px solid var(--paper-edge);border-radius:999px;background:var(--surface);color:var(--ink);font-size:13px;cursor:pointer;font-family:var(--serif)}.bookshelf-empty button:hover{border-color:var(--ink)}@media (max-width: 768px){.bookshelf-v2-header{padding:14px 0 10px}.bookshelf-v2-header h1{font-size:22px}.bookshelf-v2-header__sub{display:none}.compose-box{margin-top:10px;padding:8px 12px}.group-card{padding:12px 12px 10px}.group-card-head{margin-bottom:8px}.group-card-title{font-size:14px}}.explore-v2,.moderation-page,.full-sheet .editor-sheet{--ink-soft: var(--ink-2);--ink-faint: var(--ink-3);--paper-deep: var(--paper-soft);--paper-edge: var(--paper-line);--gold-soft: rgba(184, 146, 61, .45);--type-course: var(--ocean);--type-distill: var(--plum);--type-fragment: var(--moss);--type-post: var(--vermilion);--type-challenge: var(--gold);--type-official: var(--gold)}.explore-v2{font-family:var(--sans);background:var(--paper);color:var(--ink);background-image:radial-gradient(ellipse at top,rgba(61,96,146,.05),transparent 60%),radial-gradient(ellipse at bottom right,rgba(184,146,61,.04),transparent 60%);min-height:calc(100vh - 62px)}.font-serif-cn{font-family:"Noto Serif SC",serif}.type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:500;color:#fff;letter-spacing:.05em;white-space:nowrap}.type-badge[data-type=course]{background:var(--type-course)}.type-badge[data-type=distill]{background:var(--type-distill)}.type-badge[data-type=fragment]{background:var(--type-fragment)}.type-badge[data-type=post]{background:var(--type-post)}.type-badge[data-type=challenge]{background:var(--type-challenge)}.type-badge[data-type=official]{background:var(--type-official)}.official-stamp{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;background:var(--gold);color:var(--paper);font-family:var(--serif);letter-spacing:.04em;white-space:nowrap}.comm-card{--comm-marker: var(--ink-3);position:relative;background:var(--surface);border:1px solid var(--paper-line);border-radius:var(--radius-lg);transition:box-shadow .22s ease,border-color .22s ease;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-card)}.comm-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:1px;background:var(--comm-marker);pointer-events:none}.comm-card:hover{border-color:var(--paper-edge);box-shadow:var(--shadow-lift)}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--azure),var(--plum));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.avatar-sm{width:20px;height:20px;font-size:9px}.avatar-lg{width:36px;height:36px;font-size:13px}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;color:var(--ink-faint);font-size:11px;transition:all .15s;border:0;background:transparent;cursor:pointer;font-family:inherit}.action-btn:hover{background:var(--paper-soft);color:var(--ink)}.action-btn.liked{color:var(--vermilion)}.countdown{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#b8923d1f;color:var(--gold);border-radius:4px;font-size:10px;font-weight:500}.section-title{display:flex;align-items:baseline;gap:14px;margin:4px 0 18px}.section-title h2{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);display:flex;align-items:center;gap:10px;margin:0;letter-spacing:.02em}.section-title .meta{font-family:var(--latin);font-style:italic;font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}.section-title .line{flex:1;border-top:1px dashed var(--paper-line);align-self:center}.main-tabs{position:sticky;top:0;background:var(--paper);z-index:30;border-bottom:1px solid var(--paper-line);margin-bottom:28px}.main-tab-row{display:flex;justify-content:center;gap:2px;max-width:1320px;margin:0 auto;padding:0 32px;overflow-x:auto;scrollbar-width:none}.main-tab-row::-webkit-scrollbar{display:none}.main-tab{padding:18px 22px 16px;position:relative;cursor:pointer;transition:color .18s ease;display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:14.5px;border:0;background:transparent;margin-bottom:-1px;white-space:nowrap;flex-shrink:0;font-family:inherit;letter-spacing:.04em}.main-tab:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translate(-50%);width:0;height:1.5px;background:var(--azure);transition:width .22s ease;border-radius:1px}.main-tab:hover{color:var(--ink-1)}.main-tab.active{color:var(--ink);font-weight:600}.main-tab.active:after{width:calc(100% - 16px)}.main-tab .main-tab__icon{width:16px;height:16px;color:currentColor;opacity:.7}.main-tab.active .main-tab__icon{color:var(--azure);opacity:1}.main-tab .main-tab__count{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--paper-soft);color:var(--ink-3);font-family:var(--latin);font-weight:500;letter-spacing:.06em}.main-tab.active .main-tab__count{background:var(--azure-faint);color:var(--azure)}@media (max-width: 900px){.main-tab-row{justify-content:flex-start}}@media (max-width: 767px){.main-tabs{margin-bottom:18px}.main-tab{padding:14px 14px 12px;font-size:13px;gap:6px}.main-tab-row{padding:0 12px;gap:0}}.sub-filter{background:var(--surface-soft);border:1px solid var(--paper-line);border-radius:999px;padding:6px 10px;margin-bottom:24px;display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;box-shadow:var(--shadow-quiet)}.sub-filter .label{font-family:var(--latin);font-style:italic;font-size:11px;color:var(--ink-3);margin:0 6px 0 8px;letter-spacing:.05em}.sub-filter .divider{width:1px;height:14px;margin:0 4px;background:var(--paper-line)}.filter-chip{padding:6px 14px;border-radius:999px;font-size:12.5px;cursor:pointer;transition:background .18s ease,color .18s ease;border:0;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;background:transparent;font-family:inherit}.filter-chip:hover{background:var(--paper-soft);color:var(--ink)}.filter-chip.active{background:var(--azure);color:#fff}.filter-chip .dot{width:6px;height:6px;border-radius:50%;display:inline-block}@media (max-width: 767px){.sub-filter{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.sub-filter::-webkit-scrollbar{display:none}.sub-filter>*{flex-shrink:0}}.hero-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:32px}@media (max-width: 900px){.hero-row{grid-template-columns:1fr}}.hero-card{background:linear-gradient(135deg,var(--ink) 0%,#2D3349 100%);border-radius:14px;padding:32px;color:var(--paper);position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .22s,box-shadow .22s}.hero-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.hero-card:before{content:"";position:absolute;top:-50px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,rgba(184,146,61,.28),transparent 70%);pointer-events:none}.hero-card .hero-title{font-family:var(--serif);font-weight:700;font-size:28px;margin:8px 0;line-height:1.2;letter-spacing:.02em}.hero-card .hero-desc{font-size:13px;opacity:.78;line-height:1.65;margin:0}.hero-card .hero-cta{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;background:var(--gold);color:var(--ink);border:0;cursor:pointer;font-family:inherit;letter-spacing:.06em;transition:transform .18s ease}.hero-card .hero-cta:hover{transform:translateY(-1px)}.rank-stack{display:flex;flex-direction:column;gap:12px}.rank-card{background:var(--surface);border:1px solid var(--paper-line);border-radius:12px;padding:18px 20px;flex:1;display:flex;flex-direction:column;justify-content:space-between;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;cursor:pointer;box-shadow:var(--shadow-quiet)}.rank-card:hover{border-color:var(--azure-soft);box-shadow:var(--shadow-card);transform:translateY(-1px)}.rank-card .rank-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rank-card .rank-head h3{font-family:var(--serif);font-weight:700;font-size:14px;margin:0;display:flex;align-items:center;gap:8px;color:var(--ink);letter-spacing:.02em}.rank-row{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:5px 0}.rank-row .rank-num{font-family:var(--latin);font-weight:600;font-size:15px;width:18px;color:var(--ink-3)}.rank-row .rank-num.top{color:var(--gold)}.rank-row .rank-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-1)}.rank-row .rank-count{color:var(--ink-3);font-size:11px;font-family:var(--latin)}.grid-courses{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 900px){.grid-courses{grid-template-columns:1fr}}.course-card{padding:16px}.mini-spine{width:36px;height:110px;border-radius:2px 3px 3px 2px;flex-shrink:0;background-image:linear-gradient(90deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.04) 4%,transparent 8%,transparent 92%,rgba(0,0,0,.04) 96%,rgba(0,0,0,.12) 100%);box-shadow:inset -1px 0 #00000014,inset 1px 0 #ffffff4d;display:flex;align-items:center;justify-content:center;padding:4px;position:relative}.mini-spine-band{position:absolute;top:6px;left:0;right:0;height:2px;background:currentColor;opacity:.85}.mini-spine-text{writing-mode:vertical-rl;text-orientation:upright;font-family:"Noto Serif SC",serif;font-size:11px;font-weight:500;line-height:1;letter-spacing:.05em;text-align:center}.price-tag{font-family:"Noto Serif SC",serif;font-weight:600;color:var(--gold);font-size:14px}.price-free{color:var(--type-fragment)}.grid-challenges{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 1100px){.grid-challenges{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.grid-challenges{grid-template-columns:1fr}}.challenge-card{background:var(--surface);border:1px solid var(--paper-line);border-radius:12px;padding:18px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;cursor:pointer;display:flex;flex-direction:column;box-shadow:var(--shadow-quiet)}.challenge-card:hover{border-color:var(--gold-soft);box-shadow:var(--shadow-card);transform:translateY(-2px)}.challenge-hero{position:relative;height:120px;border-radius:12px;overflow:hidden;margin-bottom:14px;display:flex;align-items:center;justify-content:center}.challenge-hero.bg-1{background:linear-gradient(135deg,var(--moss),#4A5A2F)}.challenge-hero.bg-2{background:linear-gradient(135deg,var(--ocean),#2D3349)}.challenge-hero.bg-3{background:linear-gradient(135deg,var(--gold),#6B5320)}.challenge-hero.bg-4{background:linear-gradient(135deg,var(--plum),#4A2A4A)}.challenge-hero:after{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 70%);pointer-events:none}.challenge-hero-title{font-family:"Noto Serif SC",serif;font-weight:600;color:#fffffff2;font-size:22px;letter-spacing:.05em;text-align:center;padding:0 20px;z-index:1}.progress-bar{width:100%;height:3px;background:var(--paper-line);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--azure);border-radius:2px;transition:width .5s}.challenge-cta{width:100%;padding:9px;border-radius:8px;font-size:13px;font-weight:500;background:var(--azure);color:#fff;border:0;cursor:pointer;font-family:inherit;letter-spacing:.08em;transition:background .15s,transform .15s}.challenge-cta:hover{background:var(--azure-bright);transform:translateY(-1px)}.challenge-cta.secondary{background:var(--surface);color:var(--ink-1);border:1px solid var(--paper-line)}.challenge-cta.secondary:hover{background:var(--paper-soft);border-color:var(--azure-soft)}.challenge-cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.feed-grid{column-count:3;column-gap:16px}@media (max-width: 1100px){.feed-grid{column-count:2}}@media (max-width: 700px){.feed-grid{column-count:1}}.feed-grid>*{break-inside:avoid;display:block;margin-bottom:16px}.post-card{padding:0;overflow:hidden}.post-cover-photo{width:100%;background-size:cover;background-position:center;position:relative;aspect-ratio:3 / 4}.post-cover-text{position:relative;padding:32px 24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;aspect-ratio:3 / 4}.cover-paper{background:linear-gradient(135deg,var(--paper) 0%,var(--paper-deep) 100%);color:var(--ink)}.cover-paper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(61,96,146,.07) 28px,rgba(61,96,146,.07) 29px);pointer-events:none}.cover-ink{background:radial-gradient(circle at 20% 30%,rgba(184,146,61,.18),transparent 50%),linear-gradient(135deg,var(--ink) 0%,#2D3349 100%);color:var(--paper)}.cover-sage{background:radial-gradient(circle at 70% 70%,rgba(255,255,255,.18),transparent 50%),linear-gradient(135deg,var(--moss) 0%,#4A5A2F 100%);color:var(--paper)}.cover-rose{background:linear-gradient(135deg,#c8d0de,#abb4c7);color:var(--ink)}.cover-stamp{background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.15),transparent 60%),linear-gradient(135deg,var(--plum) 0%,#4A2A4A 100%);color:var(--paper)}.cover-tag{font-size:10px;letter-spacing:.15em;opacity:.6;margin-bottom:auto;position:relative;z-index:2}.cover-main{font-family:"Noto Serif SC",serif;font-weight:700;line-height:1.25;letter-spacing:.02em;word-break:break-word;position:relative;z-index:2}.cover-main-lg{font-size:22px}.cover-main-md{font-size:18px}.cover-main-sm{font-size:16px}.cover-quote-mark{font-family:"Noto Serif SC",serif;font-size:64px;line-height:.5;opacity:.25;margin-bottom:8px}.cover-line{width:32px;height:1px;background:currentColor;opacity:.5;margin:8px 0}.cover-sub{font-size:11px;opacity:.7;margin-top:8px;letter-spacing:.05em;position:relative;z-index:2}.cover-badge{position:absolute;top:12px;left:12px;z-index:3}.cover-num-stamp{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;font-size:11px;opacity:.6;z-index:3}.cover-square-stamp{position:absolute;bottom:16px;right:16px;width:48px;height:48px;border:2px solid currentColor;border-radius:4px;transform:rotate(-8deg);display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;font-size:11px;opacity:.5;letter-spacing:.1em}.fragment-card{padding:16px 18px}.pending-banner{background:#b8923d1f;border:1px solid rgba(184,146,61,.3);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--gold);display:inline-flex;align-items:center;gap:4px}.rejected-banner{background:#a53d2e1a;border:1px solid rgba(165,61,46,.3);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--vermilion);display:inline-flex;align-items:center;gap:4px}.comm-fab{position:fixed;bottom:32px;right:32px;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--azure);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #3d609252;cursor:pointer;border:0;transition:transform .2s,background-color .2s,box-shadow .2s}.comm-fab:hover{transform:scale(1.05);background:var(--azure-bright);box-shadow:0 12px 32px #3d60926b}.comm-fab.open{background:var(--vermilion);box-shadow:0 10px 28px #a53d2e52}.comm-fab-menu{position:fixed;bottom:96px;right:32px;z-index:49;background:var(--surface);border:1px solid var(--paper-line);border-radius:12px;padding:6px;box-shadow:var(--shadow-lift);min-width:180px;display:flex;flex-direction:column;gap:2px}.comm-fab-menu button{display:flex;align-items:center;gap:10px;padding:10px 14px;border:0;background:transparent;cursor:pointer;border-radius:8px;font-size:14px;color:var(--ink-1);text-align:left;font-family:var(--sans);transition:background .15s ease,color .15s ease}.comm-fab-menu button:hover{background:var(--paper-soft);color:var(--azure)}@media (max-width: 767px){.comm-fab{bottom:80px;right:16px;width:48px;height:48px}.comm-fab-menu{bottom:140px;right:16px}.post-cover-text{padding:24px 20px}}.editor-sheet{max-width:720px;margin:0 auto;padding:32px 24px 80px;display:flex;flex-direction:column;gap:16px;background:var(--paper);color:var(--ink);font-family:Noto Sans SC,system-ui,sans-serif}.editor-sheet h2{font-family:"Noto Serif SC",serif;font-size:22px;font-weight:600;margin:0 0 4px;color:var(--ink)}.editor-sheet label{font-size:12px;color:var(--ink-faint);letter-spacing:.04em;display:block;margin-bottom:4px}.editor-sheet input[type=text],.editor-sheet input[type=date],.editor-sheet select,.editor-sheet textarea{width:100%;border:1px solid var(--paper-line);border-radius:8px;padding:10px 12px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--surface);box-sizing:border-box;transition:border-color .15s ease}.editor-sheet textarea{resize:vertical;min-height:120px;line-height:1.75;font-family:var(--serif)}.editor-sheet input:focus,.editor-sheet textarea:focus,.editor-sheet select:focus{outline:none;border-color:var(--azure);background:var(--surface)}.editor-sheet .row{display:flex;gap:12px}.editor-sheet .row>*{flex:1}.editor-sheet .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.editor-sheet .count-hint{font-size:11px;color:var(--ink-faint);text-align:right;margin-top:-8px}.comm-btn{padding:8px 18px;border-radius:8px;border:1px solid var(--paper-line);background:var(--surface);cursor:pointer;font-size:14px;font-family:var(--sans);color:var(--ink-1);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.comm-btn:hover{border-color:var(--azure-soft);color:var(--ink);transform:translateY(-1px)}.comm-btn-primary{background:var(--azure);border-color:var(--azure);color:#fff;letter-spacing:.04em}.comm-btn-primary:hover{background:var(--azure-bright);border-color:var(--azure-bright)}.comm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.explore-v2 .comm-card,.explore-v2 .feed-grid>*,.explore-v2 .rank-card,.explore-v2 .challenge-card,.explore-v2 .hero-card{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1) backwards}.sort-select{padding:6px 10px;background:var(--surface);border:1px solid var(--paper-line);border-radius:8px;font-size:12px;color:var(--ink-2);cursor:pointer;font-family:inherit}
