.top-nav{background:var(--bg-panel);border:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:60px;padding:0 40px;transition:background-color .25s,border-color .25s;display:flex}.nav-left{flex:1;justify-content:flex-start;align-items:center;min-width:0;display:flex}.nav-middle-text{flex-shrink:0;font-size:16px}.nav-right-group{flex:1;justify-content:flex-end;gap:10px;min-width:0;display:flex}.top-nav a{background:var(--bg-card);color:var(--text-color);border:1px solid var(--border-color);transform-origin:50%;cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:14.25px;font-weight:700;text-decoration:none;transition:all .2s}.top-nav a:hover{box-shadow:0 4px 12px var(--shadow-color);transform:scale(.9)}.top-nav a:active{transform:scale(1.1)}.menu-toggle-btn{background:var(--bg-card);color:var(--text-color);border:1px solid var(--border-color);transform-origin:50%;cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:14.25px;font-weight:700;transition:all .2s}.menu-toggle-btn:hover{box-shadow:0 4px 12px var(--shadow-color);transform:scale(.9)}.menu-toggle-btn:active{transform:scale(1.1)}.menu-toggle-btn:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}.left-menu{border:1px solid var(--border-color);background:var(--bg-panel);flex-direction:column;flex:1 1 0;gap:20.8px;min-width:0;padding:20px 10px;transition:flex-grow .3s,flex-basis .3s,padding .3s,opacity .25s,border-color .3s,background-color .25s;display:flex;overflow:hidden}.left-menu.collapsed{opacity:0;pointer-events:none;border-color:#0000;flex-grow:0;flex-basis:0;padding:0}.menu-btn{border:1px solid var(--border-color);background:var(--bg-card);width:100%;height:50px;color:var(--text-color);cursor:pointer;transform-origin:50%;border-radius:8px;font-size:14px;font-weight:700;transition:all .2s}.menu-btn:hover{box-shadow:0 4px 12px var(--shadow-color);transform:scale(.9)}.menu-btn:active{transform:scale(1.1)}.menu-btn.active{background:var(--bg-page);border-color:var(--text-color)}.menu-btn:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}.right-content{background:var(--bg-panel);flex-direction:column;flex:7;align-items:stretch;min-width:0;min-height:0;transition:background-color .25s,border-color .25s;display:flex;overflow:hidden}.content-item{flex:1;width:100%;max-width:100%;min-height:0;display:none}.content-item.active{display:flex}.big-box{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-panel);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex:1;width:100%;min-height:0;padding:20px;transition:background-color .25s,border-color .25s;overflow:hidden auto}.big-box::-webkit-scrollbar{width:8px}.big-box::-webkit-scrollbar-track{background:0 0}.big-box::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.big-box-title{text-align:center;margin-bottom:8px;font-size:20px}.big-box-text{text-align:center;opacity:.8;margin-bottom:20px;font-size:14px;line-height:1.6}.block-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:70px;gap:16px;display:grid}.small-block{border:1px solid var(--border-color);background:var(--bg-card);white-space:pre-line;border-radius:8px;flex-direction:column;gap:6px;min-height:0;padding:12px;transition:all .2s;display:flex;overflow:auto}.small-block:hover{box-shadow:0 4px 12px var(--shadow-color)}.small-block h3{font-size:15px;font-weight:700}.small-block p{opacity:.8;word-break:break-word;font-size:13px;line-height:1.6}@media (width<=640px){.right-content{padding:12px}.big-box{padding:14px}.block-grid{grid-auto-rows:80px;gap:12px}.small-block{grid-column:span 12!important}}.qr-form{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.qr-textarea{resize:none;border:1px solid var(--border-color);background:var(--bg-card);min-height:60px;color:var(--text-color);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.qr-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-color);cursor:pointer;border-radius:6px;align-self:flex-end;padding:6px 14px;transition:transform .2s,box-shadow .2s}.qr-btn:hover:not(:disabled){box-shadow:0 2px 8px var(--shadow-color);transform:scale(.95)}.qr-btn:disabled{opacity:.5;cursor:not-allowed}.qr-image{object-fit:contain;background:#fff;border-radius:6px;max-width:100%;max-height:100%;margin:auto;padding:8px;display:block}.qr-hint{color:var(--text-color);opacity:.6;text-align:center;margin:auto;font-size:13px}.qr-error{color:#d9534f;text-align:center;margin:auto;font-size:13px}.pinyin-tool{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.pinyin-textarea{resize:none;border:1px solid var(--border-color);background:var(--bg-card);min-height:60px;color:var(--text-color);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.pinyin-result{border:1px dashed var(--border-color);border-radius:6px;flex:1;justify-content:center;align-items:center;min-height:40px;padding:8px;display:flex;overflow-y:auto}.pinyin-text{letter-spacing:.05em;word-break:break-word;text-align:center;margin:0;font-size:1.1rem;line-height:1.6}.formula-input-box{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.formula-input{border:1px solid var(--border-color);background:var(--bg-card);width:100%;color:var(--text-color);font:inherit;box-sizing:border-box;border-radius:6px;padding:8px 10px;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.formula-range{color:var(--text-color);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.formula-range label{align-items:center;gap:4px;display:flex}.formula-range input{border:1px solid var(--border-color);background:var(--bg-card);width:70px;color:var(--text-color);font:inherit;border-radius:4px;padding:4px 6px}.plot-box{flex:1;width:100%;min-height:0;position:relative}.formula-input-box .qr-hint,.formula-input-box .qr-error{text-align:left;margin:0}.message-input-box{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.message-textarea{resize:none;border:1px solid var(--border-color);background:var(--bg-card);min-height:80px;color:var(--text-color);font:inherit;border-radius:6px;flex:1;padding:10px 12px;line-height:1.6}.message-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.message-count{opacity:.6;color:var(--text-color);font-size:12px}.message-count-warn{color:#d9534f;opacity:1}.message-error{text-align:left;margin:0}.message-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.message-item{border:1px solid var(--border-color);background:var(--bg-panel);border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.message-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.message-author{color:var(--text-color);font-size:13px;font-weight:700}.message-time{opacity:.55;color:var(--text-color);font-variant-numeric:tabular-nums;font-size:11px}.message-item-text{color:var(--text-color);word-break:break-word;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.db-overview{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.db-kv{gap:8px;font-size:13px;display:flex}.db-kv-label{opacity:.7;min-width:84px;color:var(--text-color)}.db-kv-value{color:var(--text-color);word-break:break-all}.db-mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px}.db-overview-tables{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:4px;display:grid}.db-table-card{border:1px solid var(--border-color);background:var(--bg-panel);border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.db-table-name{color:var(--text-color);font-weight:700}.db-table-meta{opacity:.7;color:var(--text-color);font-size:12px}.db-table-cols{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.db-col-chip{border:1px solid var(--border-color);opacity:.8;color:var(--text-color);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:11px}.db-tables{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.db-tabs{flex-wrap:wrap;gap:6px;display:flex}.db-tab{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-color);cursor:pointer;font:inherit;border-radius:6px;padding:4px 10px;font-size:13px}.db-tab.active{border-color:#3b82f6;font-weight:700}.db-table-wrap{border:1px solid var(--border-color);border-radius:6px;flex:1;min-height:0;overflow:auto}.db-table{border-collapse:collapse;width:100%;font-size:12px}.db-table th,.db-table td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top;word-break:break-word;max-width:320px;color:var(--text-color);padding:4px 8px}.db-table th{background:var(--bg-card);z-index:1;font-weight:700;position:sticky;top:0}.db-table tbody tr:hover td{background:var(--bg-panel)}.db-table td.db-mono{white-space:nowrap}.db-empty{text-align:center;opacity:.6;padding:16px}.db-pager{justify-content:space-between;align-items:center;gap:8px;display:flex}.db-page-info{opacity:.7;color:var(--text-color);font-size:12px}.db-page-btns{gap:6px;display:flex}.db-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-color);cursor:pointer;font:inherit;border-radius:6px;padding:4px 10px;font-size:12px;transition:transform .2s,box-shadow .2s}.db-btn:hover:not(:disabled){box-shadow:0 2px 8px var(--shadow-color);transform:scale(.95)}.db-btn:disabled{opacity:.5;cursor:not-allowed}.login-page{background:var(--bg-page);min-height:100vh;color:var(--text-color);justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border-color);width:100%;max-width:360px;box-shadow:0 8px 24px var(--shadow-color);border-radius:12px;flex-direction:column;gap:14px;padding:28px 24px;display:flex}.login-title{margin:0;font-size:22px}.login-subtitle{opacity:.7;margin:0 0 6px;font-size:13px}.login-field{flex-direction:column;gap:6px;font-size:13px;display:flex}.login-field input{border:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-color);border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:box-shadow .15s}.login-field input:focus{box-shadow:0 0 0 2px var(--shadow-color)}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#d9534f;margin:0;font-size:13px}.login-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-color);cursor:pointer;border-radius:8px;margin-top:6px;padding:10px 12px;font-size:14px;transition:transform .15s,box-shadow .15s}.login-btn:hover:not(:disabled){box-shadow:0 2px 8px var(--shadow-color);transform:scale(.98)}.login-btn:active:not(:disabled){transform:scale(1.02)}.login-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.login-card{max-width:100%}}#root{height:100vh}.app{flex-direction:column;height:100%;display:flex}.main-wrap{flex:1;display:flex;overflow:hidden}:root{--bg-page:#fff;--bg-panel:#fafafa;--bg-card:#fff;--text-color:#333;--border-color:#000;--shadow-color:#00000040;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg-page:#17171a;--bg-panel:#212127;--bg-card:#2b2b33;--text-color:#e8e8ea;--border-color:#6f6f7a;--shadow-color:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;color:var(--text-color);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;padding:0;font-family:Microsoft YaHei,sans-serif}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}body{background-color:var(--bg-page);transition:background-color .25s,color .25s}
