.distill-view{background:var(--bg-main);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;inset:0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);position:fixed;z-index:1000}.distill-topbar{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-bottom:.5px solid var(--border);-webkit-flex-shrink:0;gap:16px;padding:16px 32px;-ms-flex-negative:0;flex-shrink:0}.distill-progress{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;gap:6px}.distill-dot{background:var(--border);border-radius:2px;-webkit-flex:1;-ms-flex:1;flex:1;height:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.distill-dot.past{background:var(--accent-dim)}.distill-dot.active{background:var(--accent)}.distill-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;-webkit-transition:color .2s;transition:color .2s}.distill-close:hover{color:var(--text-primary)}.distill-stage{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;overflow-y:auto;padding:28px 24px;-webkit-overflow-scrolling:touch}.distill-card{-webkit-animation:distill-fade-in .4s cubic-bezier(.16,1,.3,1);animation:distill-fade-in .4s cubic-bezier(.16,1,.3,1);background:var(--bg-card);border:.5px solid var(--border);border-radius:12px;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);max-width:540px;overflow:hidden;width:100%}@-webkit-keyframes distill-fade-in{from{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes distill-fade-in{from{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.distill-card-header{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;background:var(--bg-main);border-bottom:.5px solid var(--border);justify-content:space-between;padding:10px 20px}.distill-card-header-book{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;gap:8px;min-width:0;overflow:hidden}.distill-card-header-cover{border:.5px solid var(--border);border-radius:2px;-webkit-flex-shrink:0;height:32px;-o-object-fit:cover;object-fit:cover;width:22px;-ms-flex-negative:0;flex-shrink:0}.distill-card-header-title{color:var(--text-secondary);font-family:var(--font-sans);font-size:11px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distill-card-header-dot{color:var(--text-muted);-webkit-flex-shrink:0;font-size:11px;-ms-flex-negative:0;flex-shrink:0}.distill-card-header-author{color:var(--text-muted);-webkit-flex-shrink:0;font-family:var(--font-sans);font-size:11px;white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.distill-card-header-brand{color:var(--accent);-webkit-flex-shrink:0;font-family:var(--font-sans);font-size:10px;letter-spacing:.12em;-ms-flex-negative:0;flex-shrink:0;margin-left:12px}.distill-card-body{padding:28px 28px 24px}.card-eyebrow{color:var(--text-muted);font-family:var(--font-sans);font-size:11px;letter-spacing:.1em;margin-bottom:16px;text-transform:uppercase}.card-title{color:var(--text-primary);font-family:var(--font-serif);font-size:22px;font-weight:500;line-height:1.4;margin:0 0 20px}.card-title-multiline{white-space:pre-line}.card-subtitle{color:var(--text-muted);font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;margin:-14px 0 20px;text-transform:uppercase}.card-lead{color:var(--text-primary);font-family:var(--font-serif);font-size:18px;line-height:1.7;margin:0 0 16px}.card-body{color:var(--text-secondary);font-family:var(--font-sans);font-size:16px;line-height:1.75;margin:0 0 12px}.card-source{border-top:.5px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);font-size:11px;margin-top:20px;padding-top:14px}.card-quote{border-left:2px solid var(--accent);color:var(--text-primary);font-family:var(--font-serif);font-size:22px;font-style:italic;line-height:1.5;margin:0 0 20px;padding:10px 0 10px 20px}.when-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.when-item{-webkit-align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;border-bottom:.5px solid var(--border);gap:18px;padding:18px 0}.when-item:first-child{border-top:.5px solid var(--border)}.when-index{color:var(--accent);-webkit-flex-shrink:0;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.02em;min-width:14px;padding-top:3px;-ms-flex-negative:0;flex-shrink:0}.when-text{color:var(--text-primary);font-family:var(--font-serif);font-size:16px;line-height:1.7}.start-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px}.start-item{background:transparent;border:.5px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:16px;line-height:1.6;padding:14px 18px;text-align:left;-webkit-transition:background .2s,border-color .2s,-webkit-transform .15s;transition:background .2s,border-color .2s,-webkit-transform .15s;transition:background .2s,border-color .2s,transform .15s;transition:background .2s,border-color .2s,transform .15s,-webkit-transform .15s;width:100%}.start-item:hover{background:var(--accent-bg);border-color:var(--accent-dim);-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.distill-nav{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;border-top:.5px solid var(--border);-webkit-flex-shrink:0;gap:12px;justify-content:space-between;padding:14px 32px;-ms-flex-negative:0;flex-shrink:0}.distill-nav-btn{background:transparent;border:.5px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:13px;padding:9px 20px;-webkit-transition:background .2s,color .2s;transition:background .2s,color .2s}.distill-nav-btn:hover{background:var(--bg-card);color:var(--text-primary)}.distill-nav-btn:disabled{cursor:default;opacity:.3}.distill-counter{color:var(--text-muted);font-family:var(--font-sans);font-size:12px;letter-spacing:.06em}.distill-entries{margin-bottom:28px}.distill-entries-eyebrow{color:var(--text-muted);font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;margin:0 0 12px;text-align:center;text-transform:uppercase}.distill-entry-card{-webkit-align-items:center;background:var(--bg-card);border:.5px solid var(--border);border-radius:8px;cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:16px 12px;text-align:center;-webkit-transition:border-color .2s,-webkit-transform .2s;transition:border-color .2s,-webkit-transform .2s;transition:border-color .2s,transform .2s;transition:border-color .2s,transform .2s,-webkit-transform .2s;-ms-flex-align:center;align-items:center;gap:6px}.distill-entry-card-single{-webkit-align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:14px;padding:16px 22px;text-align:left;width:100%;-ms-flex-align:center;align-items:center}.distill-entry-card:hover{border-color:var(--accent);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.distill-entry-icon{-webkit-flex-shrink:0;font-size:1.5rem;-ms-flex-negative:0;flex-shrink:0}.distill-entry-title{color:var(--text-primary);font-family:var(--font-sans);font-size:16px;font-weight:500;line-height:1.3}.distill-entry-sub{color:var(--text-muted);font-family:var(--font-sans);font-size:13px;line-height:1.4}@media (max-width:768px){.distill-topbar{padding:12px 16px}.distill-stage{-webkit-align-items:flex-start;padding:16px 14px;-ms-flex-align:start;align-items:flex-start}.distill-nav{padding:12px 16px}.distill-card{border-radius:10px}.distill-card-body{padding:22px 20px 20px}.card-title{font-size:19px}.card-lead{font-size:16px}.card-body{font-size:14px}.card-quote{font-size:19px;padding-left:16px}.when-text{font-size:14px}.start-item{font-size:14px}.distill-nav-btn{-webkit-flex:1;-ms-flex:1;flex:1;text-align:center}.distill-card-header-title{max-width:100px}}*,*::after,*::before{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;overflow-wrap:break-word;padding:0}select,taro-button-core,taro-input-core,taro-textarea-core{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;outline:none}.taro_router > .taro_page{background-color:var(--bg-main)!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;-webkit-transition:none!important;transition:none!important}.taro_router > .taro_page.taro_page_show{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}:root{--font-serif:"STSong","Songti SC","Cormorant Garamond","Source Han Serif SC",serif;--font-sans:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--transition:all 0.4s cubic-bezier(0.2,0.8,0.2,1);--radius-sm:4px}:root,:root[data-theme="dark"]{--bg-main:#121211;--bg-secondary:#0a0a09;--bg-card:#181816;--bg-card-hover:#1f1f1d;--bg-input:#1f1f1d;--bg-header:rgba(18,18,17,.85);--bg-paper:#1a1a18;--bg-primary:#181816;--text-primary:#f2efe9;--text-secondary:#dcd8d0;--text-muted:#8d8a83;--text-main:#f2efe9;--accent:#c49a6c;--accent-dim:hsla(31,43%,60%,.4);--accent-bg:hsla(31,43%,60%,.08);--border:#2a2a28;--border-light:#333331;--danger:#e57373;--shadow-card:0 12px 32px rgba(0,0,0,.4);--bg-overlay:rgba(18,18,17,.85)}:root[data-theme="light"]{--bg-main:#f0eee9;--bg-secondary:#e6e3dd;--bg-card:#f6f5f0;--bg-card-hover:#fdfdf9;--bg-input:#f6f5f0;--bg-header:hsla(43,19%,93%,.85);--bg-paper:#edeae4;--bg-primary:#f6f5f0;--text-primary:#3b3a38;--text-secondary:#5a5753;--text-muted:#8a8781;--text-main:#3b3a38;--accent:#93683a;--accent-dim:rgba(147,104,58,.3);--accent-bg:rgba(147,104,58,.05);--border:#dcd9d2;--border-light:#e8e5de;--danger:#d32f2f;--shadow-card:0 12px 32px rgba(0,0,0,.04);--bg-overlay:hsla(50,25%,95%,.9)}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);line-height:1.65;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch}.app{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;min-height:100dvh;overflow-x:hidden}.header{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:24px 40px;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-header);border-bottom:1px solid var(--border);justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100}.logo{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;gap:14px;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.logo:hover{opacity:.8}.logo-icon{-webkit-align-items:center;border:1px solid var(--accent-dim);border-radius:4px;display:-webkit-flex;display:-ms-flexbox;display:flex;height:28px;width:28px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;background:var(--accent-bg);font-size:14px;justify-content:center}.logo-text{color:var(--text-primary);font-family:var(--font-sans);font-size:1.05rem;font-weight:400;letter-spacing:.25em}.nav-links{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:32px;-ms-flex-align:center;align-items:center}.nav-link{border-bottom:1px dashed transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:400;letter-spacing:.05em;padding-bottom:4px;-webkit-transition:var(--transition);transition:var(--transition)}.nav-link.active{border-bottom:1px solid var(--accent);color:var(--accent)}.nav-link:hover{color:var(--text-primary)}.main{-webkit-flex:1;-ms-flex:1;flex:1;margin:0 auto;max-width:1100px;padding:60px 40px;width:100%}.library-hero{padding:60px 0 20px;text-align:center}.library-hero h1{color:var(--text-primary);font-family:var(--font-serif);font-size:3.2rem;font-weight:400;letter-spacing:.02em;margin-bottom:16px}.library-hero p{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.05rem;font-weight:400;line-height:1.8;margin:0 auto;max-width:480px}.ticker-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;cursor:pointer;height:32px;margin:24px auto 0;max-width:600px;overflow:hidden;-webkit-transition:var(--transition);transition:var(--transition)}.ticker-bar:hover{background:var(--bg-card-hover);border-color:var(--accent-dim)}.ticker-track{-webkit-animation:ticker-scroll-v 9s ease-in-out infinite;animation:ticker-scroll-v 9s ease-in-out infinite}.ticker-item{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;height:32px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:var(--text-muted);font-size:.82rem;font-weight:400;justify-content:center;letter-spacing:.02em;white-space:nowrap}@-webkit-keyframes ticker-scroll-v{0%,28%{-webkit-transform:translateY(0);transform:translateY(0)}33%,61%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}66%,94%{-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{-webkit-transform:translateY(-75%);transform:translateY(-75%)}}@keyframes ticker-scroll-v{0%,28%{-webkit-transform:translateY(0);transform:translateY(0)}33%,61%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}66%,94%{-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{-webkit-transform:translateY(-75%);transform:translateY(-75%)}}.book-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:20px}.book-card{background:transparent;border:none;cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.book-card-cover-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);height:280px;overflow:hidden;padding:24px;position:relative;-webkit-transition:all .4s ease;transition:all .4s ease;width:100%}.book-card-cover{display:block;-webkit-filter:drop-shadow(0 8px 16px rgba(0,0,0,.6)) sepia(.15) contrast(.95);filter:drop-shadow(0 8px 16px rgba(0,0,0,.6)) sepia(.15) contrast(.95);height:100%;-o-object-fit:contain;object-fit:contain;position:relative;-webkit-transition:all .5s ease;transition:all .5s ease;width:100%;z-index:1}.book-card-overlay{bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;left:0;position:absolute;right:0;top:0;-ms-flex-pack:center;-webkit-align-items:center;justify-content:center;-ms-flex-align:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--bg-overlay);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;z-index:2}.book-card-overlay span{border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-family:var(--font-serif);font-size:1.15rem;letter-spacing:.1em;padding:10px 24px;-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.book-card:hover .book-card-cover-wrapper{border-color:var(--accent-dim);-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03)}.book-card:hover .book-card-cover{-webkit-filter:drop-shadow(0 16px 32px rgba(0,0,0,.9)) sepia(0) contrast(1.05);filter:drop-shadow(0 16px 32px rgba(0,0,0,.9)) sepia(0) contrast(1.05)}.book-card:hover .book-card-overlay{opacity:1}.book-card:hover .book-card-overlay span{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}@media (hover:none){.book-card-overlay{opacity:1}.book-card-overlay span{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.book-card-body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;padding:16px 0 0;-ms-flex-pack:center;justify-content:center}.book-card-domain{color:var(--text-muted);display:inline-block;font-family:var(--font-sans);font-size:1rem;font-weight:400;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase;-webkit-transition:color .3s ease;transition:color .3s ease}.book-card:hover .book-card-domain{color:var(--accent)}.chat-view{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 auto;max-width:960px;width:100%}.chat-header{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--border);gap:20px;margin-bottom:24px;padding:0 0 24px}.chat-header-cover{border:1px solid var(--border);border-radius:2px;height:74px;-o-object-fit:cover;object-fit:cover;width:52px}.chat-header-info h2{font-family:var(--font-serif);font-size:1.4rem;font-weight:500;letter-spacing:.02em;margin-bottom:4px}.chat-header-info p{color:var(--accent);font-size:.85rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.chat-header-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:12px;margin-left:auto}.chat-clear-btn{background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:400;padding:8px 16px;-webkit-transition:var(--transition);transition:var(--transition)}.chat-clear-btn:hover{background:hsla(0,100%,71%,.05);border-color:var(--danger);color:var(--danger)}.chat-back-btn{background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:400;padding:8px 16px;-webkit-transition:var(--transition);transition:var(--transition)}.chat-back-btn:hover{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--text-primary)}.chat-messages{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:32px;min-height:0;overflow-y:auto;padding:20px 10px;scrollbar-color:var(--border-light) transparent;scrollbar-width:thin}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.msg{-webkit-animation:fadeIn .4s ease;animation:fadeIn .4s ease;font-size:1rem;line-height:1.8;max-width:88%}@-webkit-keyframes fadeIn{from{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.msg-user{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;background:var(--accent);border:1px solid var(--accent);border-radius:12px;border-bottom-right-radius:2px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.08);color:var(--bg-main);font-weight:400;padding:16px 24px}.msg-assistant{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;border-bottom-left-radius:2px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.03);box-shadow:0 4px 12px rgba(0,0,0,.03);color:var(--text-primary);font-weight:400;padding:24px 32px}.msg-assistant h1,.msg-assistant h2,.msg-assistant h3{color:var(--accent);font-family:var(--font-serif);font-weight:400;letter-spacing:.02em;margin:1.5em 0 .5em}.msg-assistant h1:first-child,.msg-assistant h2:first-child,.msg-assistant h3:first-child,.msg-assistant p:first-child{margin-top:0}.msg-assistant h3{font-size:1.15rem}.msg-assistant p{color:var(--text-primary);margin:.8em 0}.msg-assistant p:last-of-type{margin-bottom:0}.msg-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;-ms-flex-pack:end;-webkit-align-items:center;gap:8px;justify-content:flex-end;-ms-flex-align:center;align-items:center;border-top:1px dashed var(--border);margin-top:20px;padding-top:12px}.msg-copy-btn{background:var(--bg-main);border:1px solid var(--border);border-radius:4px;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.05);color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:.7rem;opacity:.8;padding:2px 8px;-webkit-transition:var(--transition);transition:var(--transition)}.msg-copy-btn:hover{background:var(--bg-card);border-color:var(--accent-dim);color:var(--accent);opacity:1;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.msg-assistant ol,.msg-assistant ul{color:var(--text-secondary);margin:1em 0;padding-left:24px}.msg-assistant li{margin:.5em 0;padding-left:8px}.msg-assistant li::marker{color:var(--accent-dim)}.msg-assistant strong{color:var(--text-primary);font-weight:500}.msg-assistant blockquote{background:var(--accent-bg);border-left:1px solid var(--accent);color:var(--text-secondary);font-family:var(--font-serif);font-size:1.15rem;font-style:italic;margin:1.5em 0;padding-bottom:10px;padding-left:20px;padding-top:10px}.msg-assistant table{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:1em 0}.msg-assistant td,.msg-assistant th{border:1px solid var(--border);padding:8px 12px;text-align:left}.typing-cursor{-webkit-animation:blink .8s ease infinite;animation:blink .8s ease infinite;background-color:var(--accent);display:inline-block;height:1.1em;margin-left:4px;vertical-align:text-bottom;width:6px}@-webkit-keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.msg-system{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-serif);font-size:.8rem;font-style:italic;margin-bottom:16px;max-width:80%;padding-bottom:8px;text-align:center}.msg-loading{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px;padding:0}.dot-pulse{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:6px}.dot-pulse span{-webkit-animation:pulse 1.4s ease-in-out infinite;animation:pulse 1.4s ease-in-out infinite;background:var(--accent-dim);border-radius:50%;height:6px;opacity:.4;width:6px}.dot-pulse span:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.dot-pulse span:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes pulse{0%,100%{opacity:.4;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}@keyframes pulse{0%,100%{opacity:.4;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}.chat-input-area{border-top:1px solid var(--border);margin-top:20px;padding:24px 0 calc(24px + env(safe-area-inset-bottom));padding-bottom:calc(24px + env(safe-area-inset-bottom) + var(--kb-h, 0px))}.chat-input-row{-webkit-align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16px;-ms-flex-align:end;align-items:flex-end}.chat-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-family:var(--font-sans);font-size:1rem;font-weight:400;max-height:200px;min-height:80px;outline:none;padding:16px 20px;resize:none;-webkit-transition:var(--transition);transition:var(--transition)}.chat-input:focus{background:var(--bg-card);border-color:var(--accent-dim)}.chat-input::-webkit-input-placeholder{color:var(--text-muted);font-weight:400}.chat-input::-moz-placeholder{color:var(--text-muted);font-weight:400}.chat-input:-ms-input-placeholder{color:var(--text-muted);font-weight:400}.chat-input::-ms-input-placeholder{color:var(--text-muted);font-weight:400}.chat-input::placeholder{color:var(--text-muted);font-weight:400}.chat-send-btn{background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:500;height:56px;padding:0 24px;-webkit-transition:var(--transition);transition:var(--transition)}.chat-send-btn:hover:not(:disabled){-webkit-filter:brightness(1.1);filter:brightness(1.1);opacity:.9}.chat-send-btn:disabled{background:var(--bg-secondary);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.chat-stop-btn{-webkit-align-items:center;background:var(--danger);border:1px solid transparent;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-family:var(--font-sans);font-size:.95rem;font-weight:500;height:56px;padding:0 20px;-webkit-transition:var(--transition);transition:var(--transition);-ms-flex-align:center;align-items:center;gap:8px}.chat-stop-btn:hover{background:#c33;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.stop-icon{background:#fff;border-radius:2px;height:12px;width:12px}.chat-guardrail-note{color:var(--text-muted);font-family:var(--font-serif);font-size:.75rem;letter-spacing:.02em;margin-top:12px;text-align:center}.loading-page{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:var(--text-secondary);font-family:var(--font-serif);font-size:1rem;font-style:italic;gap:16px;justify-content:center;min-height:50vh}.spinner{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:1px solid var(--border-light);border-radius:50%;border-top-color:var(--accent);height:20px;width:20px}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.error-banner{background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-family:var(--font-monospace,monospace);font-size:.9rem;margin:24px 0;padding:16px 20px}.vision-view{margin:0 auto;max-width:680px;padding:20px 0 80px}.vision-view h1{color:var(--accent);font-family:var(--font-serif);font-size:2.2rem;font-weight:400;line-height:1.3;margin-bottom:48px;text-align:center}.vision-view h2{border-bottom:1px solid var(--border);color:var(--text-primary);font-family:var(--font-serif);font-size:1.4rem;font-weight:400;margin:40px 0 20px;padding-bottom:8px}.vision-view p{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.05rem;font-weight:400;line-height:1.8;margin-bottom:24px}.vision-view strong{color:var(--text-primary);font-weight:500}.vision-view blockquote{border-left:2px solid var(--accent);font-style:italic;margin:32px 0;padding-left:20px}.vision-changelog{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:40px 0;padding:24px 28px}.vision-changelog h3{color:var(--text-primary);font-family:var(--font-sans);font-size:1rem;font-weight:500;margin-bottom:12px}.vision-changelog ul{list-style:none;padding:0}.vision-changelog li{color:var(--text-secondary);font-size:.88rem;line-height:1.6;padding:4px 0}.vision-view ul{margin:16px 0;padding-left:24px}.vision-view li{color:var(--text-secondary);margin:8px 0}.vision-table{border-collapse:collapse;font-size:.92rem;margin:20px 0 40px;width:100%}.vision-table td,.vision-table th{border:1px solid var(--border);padding:10px 16px;text-align:left}.vision-table th{background:var(--bg-secondary);color:var(--text-primary);font-weight:500}.vision-table td{color:var(--text-secondary)}.vision-table tr:hover{background:var(--accent-bg)}.table-wrapper{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-sm);margin:20px 0 40px}.table-wrapper .vision-table{border:none;margin:0;min-width:500px}.article-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:20px;margin-left:auto;margin-right:auto;margin-top:32px;max-width:800px}.article-item{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24px;-ms-flex-align:center;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:24px;-webkit-transition:var(--transition);transition:var(--transition)}.article-item:hover{background:var(--bg-card-hover);border-color:var(--accent-dim);-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.article-item-cover-wrapper{-webkit-flex-shrink:0;-ms-flex-negative:0;border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;height:100px;overflow:hidden;width:100px}.article-item-cover{-webkit-filter:sepia(.2) contrast(.9);filter:sepia(.2) contrast(.9);height:100%;-o-object-fit:cover;object-fit:cover;-webkit-transition:var(--transition);transition:var(--transition);width:100%}.article-item:hover .article-item-cover{-webkit-filter:sepia(0) contrast(1);filter:sepia(0) contrast(1);-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.article-item-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.article-title{color:var(--text-primary);font-family:var(--font-serif);font-size:1.4rem;font-weight:500;line-height:1.3;margin-bottom:12px}.article-date{color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;font-weight:400}.empty-state{color:var(--text-muted);font-family:var(--font-serif);font-style:italic;padding:60px 0;text-align:center}.article-detail-view{margin:0 auto;max-width:760px;padding:0 0 80px}.article-main-title{color:var(--accent);font-family:var(--font-serif);font-size:2.4rem;font-weight:400;line-height:1.4;margin-bottom:48px}.article-content{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.1rem;font-weight:400;line-height:1.85}.article-content h1,.article-content h2,.article-content h3{color:var(--text-primary);font-family:var(--font-serif);font-weight:400;margin:2em 0 1em}.article-content p{margin-bottom:1.5em}.article-content img{border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-filter:sepia(.1) contrast(.95);filter:sepia(.1) contrast(.95);margin:32px 0;max-width:100%}.article-content blockquote{border-left:2px solid var(--accent);color:var(--text-muted);font-family:var(--font-serif);font-size:1rem;font-style:italic;margin:32px 0;padding-left:20px}.article-content ol,.article-content ul{margin-bottom:1.5em;padding-left:24px}.article-content table{border-collapse:collapse;font-size:.95rem;margin:24px 0;width:100%}.article-content td,.article-content th{border:1px solid var(--border);padding:10px 14px;text-align:left}.article-content th{background:var(--bg-card);color:var(--accent);font-weight:600}.article-content tr:hover{background:var(--bg-card-hover)}@media (min-width:1024px){.book-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.chat-view{max-width:960px}}@media (max-width:768px){.header{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;padding:12px 20px}.logo-text{font-size:.9rem;letter-spacing:.1em}.nav-links{-webkit-justify-content:space-between;width:100%;-ms-flex-pack:justify;font-size:.85rem;gap:8px;justify-content:space-between}.header-tagline{display:none}.main{padding:24px 16px}.library-hero h1{font-size:1.8rem}.book-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.book-card-domain{font-size:.8em;padding:4px}.msg{font-size:.95rem;max-width:95%}.chat-view{-webkit-flex:1;-ms-flex:1;flex:1}.chat-header-info h2{font-size:1.1rem}.chat-input{font-size:.85rem;min-height:70px;padding:12px}.chat-send-btn{font-size:.85rem;height:48px;padding:0 16px}.article-main-title{font-size:1.8rem;margin-bottom:32px}.article-content{font-size:1rem}}@media (max-width:640px){.book-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.library-hero h1{font-size:1.5rem}.library-hero p{font-size:.9rem}.main{padding:16px 12px}.chat-header{gap:12px}.chat-header-info h2{font-size:1rem}.sidebar-tabs{gap:4px}.book-intro-header{-webkit-align-items:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;text-align:center}.book-intro-cover{height:116px!important;width:80px!important}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg-main);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.footer{border-top:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;margin-top:auto;padding:40px 20px 24px;text-align:center}.footer p{margin-bottom:4px}.ai-disclaimer{font-size:.75rem;opacity:.7}.sidebar-backdrop{-webkit-animation:fadeInBackdrop .3s ease;animation:fadeInBackdrop .3s ease;background:rgba(0,0,0,.4);inset:0;position:fixed;z-index:940}@-webkit-keyframes fadeInBackdrop{from{opacity:0}to{opacity:1}}@keyframes fadeInBackdrop{from{opacity:0}to{opacity:1}}.chat-sidebar{background:var(--bg-main);border-left:1px solid var(--border);-webkit-box-shadow:-8px 0 32px rgba(0,0,0,.2);box-shadow:-8px 0 32px rgba(0,0,0,.2);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100vh;height:100dvh;max-width:90vw;opacity:0;pointer-events:none;position:fixed;right:0;top:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .3s,-webkit-transform .4s cubic-bezier(.16,1,.3,1);transition:opacity .3s,-webkit-transform .4s cubic-bezier(.16,1,.3,1);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s,-webkit-transform .4s cubic-bezier(.16,1,.3,1);width:380px;z-index:950}.chat-sidebar.open{opacity:1;pointer-events:auto;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}@media (max-width:768px){.chat-sidebar{border-left:none;border-radius:16px 16px 0 0;border-top:1px solid var(--border);bottom:0;height:85vh;height:85dvh;left:0;max-width:100%;padding-bottom:env(safe-area-inset-bottom);right:0;top:auto;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);width:100%}.chat-sidebar.open{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.sidebar-header{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--border);-webkit-flex-shrink:0;padding:0 16px;-ms-flex-negative:0;flex-shrink:0}.sidebar-tabs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;gap:0}.sidebar-tab{-webkit-align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:16px 20px;-webkit-transition:color .3s,border-color .3s;transition:color .3s,border-color .3s;-ms-flex-align:center;align-items:center;gap:6px;white-space:nowrap}.sidebar-tab:hover{color:var(--text-primary)}.sidebar-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.sidebar-badge{-webkit-align-items:center;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;background:var(--accent);border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 5px}.sidebar-close-btn{-webkit-align-items:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.6rem;line-height:1;min-height:44px;min-width:44px;padding:10px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;-webkit-flex-shrink:0;justify-content:center;-webkit-transition:color .3s;transition:color .3s;-ms-flex-negative:0;flex-shrink:0}.sidebar-close-btn:hover{color:var(--text-primary)}.sidebar-body{-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:24px;scrollbar-color:var(--border-light) transparent;scrollbar-width:thin}.sidebar-body::-webkit-scrollbar{width:4px}.sidebar-body::-webkit-scrollbar-track{background:transparent}.sidebar-body::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.sidebar-book-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:28px}.sidebar-book-hero{-webkit-align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:20px;-ms-flex-align:start;align-items:flex-start}.sidebar-cover{border:1px solid var(--border);border-radius:3px;-webkit-box-shadow:0 6px 20px rgba(0,0,0,.15);box-shadow:0 6px 20px rgba(0,0,0,.15);-webkit-flex-shrink:0;height:116px;-o-object-fit:cover;object-fit:cover;width:80px;-ms-flex-negative:0;flex-shrink:0}.sidebar-book-meta{-webkit-flex:1;-ms-flex:1;flex:1;min-width:0}.sidebar-book-title{color:var(--text-primary);font-family:var(--font-serif);font-size:1.15rem;font-weight:500;line-height:1.4;margin-bottom:6px;word-break:break-word}.sidebar-book-author{color:var(--accent);font-size:.85rem;font-weight:400;letter-spacing:.05em}.sidebar-section-title{border-bottom:1px solid var(--border);color:var(--text-primary);font-family:var(--font-serif);font-size:.95rem;font-weight:500;letter-spacing:.02em;margin-bottom:12px;padding-bottom:8px}.sidebar-section-positive{color:var(--accent)}.sidebar-section-negative{color:var(--danger)}.sidebar-description{color:var(--text-secondary);font-size:.92rem;font-weight:300;line-height:1.8}.sidebar-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8px;list-style:none;padding:0}.sidebar-list li{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.88rem;font-weight:300;line-height:1.6;padding:8px 12px}.sidebar-list li::before{color:var(--accent-dim);content:"→ ";font-weight:500}.sidebar-list-muted li::before{color:var(--danger);opacity:.6}.sidebar-actions{border-top:1px solid var(--border);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:12px;padding-top:12px}.sidebar-action-btn{background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;-webkit-flex:1;-ms-flex:1;flex:1;font-family:var(--font-sans);font-size:.85rem;font-weight:400;padding:12px 0;-webkit-transition:var(--transition);transition:var(--transition)}.sidebar-action-btn:hover{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--text-primary)}.sidebar-action-btn.sidebar-action-primary{border-color:var(--accent-dim);color:var(--accent)}.sidebar-action-btn.sidebar-action-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.sidebar-actions-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px}.sidebar-actions-subtitle{color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;margin:0}.sidebar-action-input-row{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px}.sidebar-action-input-row taro-input-core{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-family:var(--font-sans);font-size:.9rem;outline:none;padding:10px 12px}.sidebar-action-input-row taro-input-core:focus{border-color:var(--accent-dim)}.sidebar-action-input-row taro-button-core{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;padding:0 16px;-webkit-transition:var(--transition);transition:var(--transition)}.sidebar-action-input-row taro-button-core:hover{background:var(--text-primary);color:var(--bg-primary)}.sidebar-action-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;margin-top:4px}.sidebar-action-empty{color:var(--text-muted);font-size:.85rem;font-style:italic;padding:32px 0;text-align:center}.sidebar-action-item{-webkit-align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);gap:12px;padding:12px 16px;-webkit-transition:var(--transition);transition:var(--transition)}.sidebar-action-item:hover{border-color:var(--border)}.sidebar-action-item.completed{opacity:.5}.sidebar-action-item.completed .sidebar-action-text{text-decoration:line-through}.sidebar-action-text{color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-size:.9rem;line-height:1.4;word-break:break-word}.sidebar-action-del{-webkit-align-items:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.1rem;min-height:44px;min-width:44px;opacity:0;-webkit-transition:var(--transition);transition:var(--transition);-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;-webkit-flex-shrink:0;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.sidebar-action-item:hover .sidebar-action-del{opacity:1}@media (hover:none){.sidebar-action-del{opacity:.6}}.sidebar-action-del:hover{color:var(--danger)}.sidebar-action-edit{background:var(--bg-input);border:1px solid var(--accent-dim);border-radius:4px;color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-family:var(--font-sans);font-size:.9rem;outline:none;padding:4px 8px}.chat-header-sidebar-btn{-webkit-align-items:center;background:transparent;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;height:36px;width:36px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;cursor:pointer;-webkit-flex-shrink:0;font-size:1.1rem;justify-content:center;-webkit-transition:var(--transition);transition:var(--transition);-ms-flex-negative:0;flex-shrink:0}.chat-header-sidebar-btn:hover{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--accent)}.sidebar-fab{-webkit-align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;bottom:28px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.2);box-shadow:0 4px 20px rgba(0,0,0,.2);color:var(--text-primary);cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.3rem;height:52px;position:fixed;right:28px;width:52px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:border-color .3s,opacity .3s,-webkit-transform .3s cubic-bezier(.16,1,.3,1),-webkit-box-shadow .3s;transition:border-color .3s,opacity .3s,-webkit-transform .3s cubic-bezier(.16,1,.3,1),-webkit-box-shadow .3s;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s,opacity .3s;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s,opacity .3s,-webkit-transform .3s cubic-bezier(.16,1,.3,1),-webkit-box-shadow .3s;z-index:900}.sidebar-fab:hover{border-color:var(--accent-dim);-webkit-box-shadow:0 8px 28px rgba(0,0,0,.3);box-shadow:0 8px 28px rgba(0,0,0,.3);-webkit-transform:translateY(-3px) scale(1.05);-ms-transform:translateY(-3px) scale(1.05);transform:translateY(-3px) scale(1.05)}.sidebar-fab.hidden{opacity:0;pointer-events:none;-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.sidebar-fab-badge{-webkit-align-items:center;background:var(--accent);border-radius:10px;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:.65rem;font-weight:700;height:18px;min-width:18px;position:absolute;right:-4px;top:-4px;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2);justify-content:center;line-height:1;padding:0 5px}@media (max-width:768px){.sidebar-fab{bottom:calc(16px + env(safe-area-inset-bottom));font-size:1.2rem;height:48px;right:16px;width:48px}}.checkbox-container{cursor:pointer;display:block;-webkit-flex-shrink:0;height:20px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:20px;-ms-flex-negative:0;flex-shrink:0}.checkbox-container taro-input-core{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;height:0!important;margin:0;opacity:0!important;padding:0;position:absolute;width:0!important}.checkmark{background-color:transparent;border:2px solid var(--text-muted);border-radius:4px;height:20px;left:0;position:absolute;top:0;-webkit-transition:var(--transition);transition:var(--transition);width:20px}.checkbox-container:hover taro-input-core ~ .checkmark{border-color:var(--text-primary)}.checkbox-container taro-input-core:checked ~ .checkmark{background-color:var(--accent);border-color:var(--accent)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container taro-input-core:checked ~ .checkmark:after{display:block}.checkbox-container .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;height:10px;left:6px;top:2px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:5px}.scenario-entry-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);cursor:pointer;margin:12px auto 40px;max-width:600px;overflow:hidden;padding:32px;position:relative;text-align:center;-webkit-transition:var(--transition);transition:var(--transition)}.scenario-entry-card:hover{background:var(--bg-card-hover);border-color:var(--accent);-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}.scenario-tag{background:var(--accent-bg);border:1px solid var(--accent-dim);border-radius:20px;color:var(--accent);display:inline-block;font-size:.75rem;letter-spacing:.1em;margin-bottom:12px;padding:4px 12px;text-transform:uppercase}.scenario-title{color:var(--text-primary);font-family:var(--font-serif);font-size:1.8rem;font-weight:400;margin-bottom:12px}.scenario-desc{color:var(--text-secondary);font-family:var(--font-sans);font-size:.95rem;font-weight:400;line-height:1.6}.warroom-view{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:40px;margin:0 auto;max-width:800px;padding:20px 20px 80px;width:100%}.warroom-header{border-bottom:1px solid var(--border);padding-bottom:24px;position:relative;text-align:center}.warroom-header h1{color:var(--text-primary);font-family:var(--font-serif);font-size:2.2rem;font-weight:400;margin-bottom:8px}.warroom-header p{color:var(--text-muted);font-family:var(--font-sans);font-size:.95rem;font-weight:400}.warroom-status{-webkit-align-items:center;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;color:var(--accent);font-size:.85rem;gap:8px;justify-content:center;margin-top:16px}.status-dot{background:var(--accent);border-radius:50%;height:8px;width:8px}.status-dot.animating{-webkit-animation:pulse 1.4s ease-in-out infinite;animation:pulse 1.4s ease-in-out infinite}.experts-timeline{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:32px}.expert-response-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:32px}.expert-meta{-webkit-align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;border-bottom:1px dashed var(--border);justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.expert-title{color:var(--accent);font-family:var(--font-serif);font-size:1.25rem;font-weight:400}.expert-author{color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;font-weight:400}.expert-text{color:var(--text-primary);font-size:1rem;line-height:1.8}.synthesis-box{background:var(--accent-bg);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);margin-top:20px;padding:40px}.synthesis-box h2{color:var(--accent);font-family:var(--font-serif);font-size:1.6rem;margin-bottom:24px}.warroom-back-btn{background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:400;left:0;padding:8px 16px;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:var(--transition);transition:var(--transition)}.warroom-back-btn:hover{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--text-primary)}@media (max-width:768px){.warroom-view{gap:24px;padding:16px 16px 60px}.warroom-header h1{font-size:1.6rem;margin-top:40px}.warroom-back-btn{left:50%;top:0;-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.expert-response-box{padding:20px}.expert-meta{-webkit-align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;gap:8px}.synthesis-box{padding:24px 20px}.synthesis-box h2{font-size:1.3rem}.book-intro-view .intro-header{-webkit-align-items:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;text-align:center}.book-intro-view .intro-actions{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.book-intro-view .intro-actions taro-button-core{width:100%}.panel-member-card{-webkit-align-items:center!important;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center!important;align-items:center!important;text-align:center}.panel-member-img{margin-bottom:8px}}