.toc-ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--toc-border);border-radius:13px;background:var(--toc-surface);color:var(--toc-text);cursor:pointer;font-size:14px;font-weight:750;line-height:1;transition:background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,transform .16s ease}.toc-ui-btn:hover:not(:disabled),.toc-ui-btn:focus-visible{border-color:var(--toc-border-strong);background:var(--toc-bg-soft);outline:none}.toc-ui-btn:active:not(:disabled){transform:scale(.98)}.toc-ui-btn:disabled{cursor:not-allowed;opacity:.48}.toc-ui-btn-primary{border-color:var(--toc-accent);background:var(--toc-accent);color:#fff}.toc-ui-btn-primary:hover:not(:disabled),.toc-ui-btn-primary:focus-visible{border-color:var(--toc-accent-strong);background:var(--toc-accent-strong);color:#fff}.toc-ui-btn-text{border-color:transparent;background:transparent}.toc-ui-btn-danger{color:var(--toc-danger)}.toc-ui-btn-danger.toc-ui-btn-primary{border-color:var(--toc-danger);background:var(--toc-danger);color:#fff}.toc-ui-btn-block{width:100%}.toc-ui-btn-small{min-height:36px;padding:0 11px;font-size:12px}.toc-ui-btn-large{min-height:48px;padding-inline:18px}.toc-ui-btn-icon{display:inline-flex;align-items:center;justify-content:center}.toc-ui-card{border:1px solid var(--toc-border);border-radius:18px;background:var(--toc-surface);box-shadow:var(--toc-shadow-sm)}.toc-ui-card-interactive{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.toc-ui-card-interactive:hover{border-color:var(--toc-border-strong);box-shadow:var(--toc-shadow-md);transform:translateY(-2px)}.toc-ui-spinner{display:inline-block;border:2px solid rgba(21,90,67,.16);border-top-color:var(--toc-accent);border-radius:50%;animation:toc-spin .8s linear infinite}.toc-ui-spinner-small{width:14px;height:14px}.toc-ui-spinner-middle{width:18px;height:18px}.toc-ui-spinner-large{width:28px;height:28px;border-width:3px}.toc-ui-loading-area{position:relative}.toc-ui-loading-area>.toc-ui-spinner-large{position:absolute;top:14px;right:14px;z-index:2}.toc-ui-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--toc-text);cursor:pointer}.toc-ui-checkbox input{position:absolute;opacity:0;pointer-events:none}.toc-ui-checkbox-box{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;border:1px solid rgba(21,90,67,.28);border-radius:7px;background:#fff}.toc-ui-checkbox-mark{width:9px;height:9px;border-radius:3px;background:var(--toc-accent);opacity:0}.toc-ui-checkbox input:checked+.toc-ui-checkbox-box .toc-ui-checkbox-mark{opacity:1}.toc-ui-checkbox.is-disabled{cursor:not-allowed;opacity:.5}.toc-ui-textarea,.toc-ui-input{box-sizing:border-box;width:100%;border:1px solid var(--toc-border);border-radius:14px;background:var(--toc-surface);color:var(--toc-text);font:inherit;line-height:1.5;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.toc-ui-textarea{min-height:44px;padding:10px 12px;resize:none}.toc-ui-input{min-height:40px;padding:0 12px}.toc-ui-textarea:focus,.toc-ui-input:focus{border-color:var(--toc-accent);background:#fff;box-shadow:var(--toc-focus-ring)}.toc-ui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:stretch;justify-content:flex-start;background:#0f171447;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.toc-ui-overlay.is-centered{align-items:center;justify-content:center;padding:24px}.toc-ui-overlay-bottom-sheet.is-centered{align-items:flex-end;justify-content:stretch;padding:0}.toc-ui-drawer{display:flex;height:100%;flex-direction:column;background:var(--toc-surface);box-shadow:var(--toc-shadow-float);animation:toc-drawer-slide-in .28s ease}.toc-ui-dialog{width:min(540px,calc(100vw - 32px));max-height:min(82vh,720px);overflow:auto;border:1px solid var(--toc-border);border-radius:22px;background:var(--toc-surface);box-shadow:var(--toc-shadow-float)}.toc-ui-dialog-bottom-sheet{width:100%;max-width:100%;max-height:min(46vh,340px);align-self:flex-end;border-radius:22px 22px 0 0;animation:toc-dialog-bottom-sheet-in .22s ease}.toc-ui-drawer-header,.toc-ui-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--toc-border);background:#fffdf8eb}.toc-ui-drawer-title,.toc-ui-dialog-title{color:var(--toc-text);font-size:15px;font-weight:850}.toc-ui-drawer-body{flex:1;min-height:0;padding:0}.toc-ui-dialog-body{padding:18px}.toc-ui-dialog-footer{padding:0 18px 18px}.toc-ui-dialog-footer-wrap{justify-content:flex-end}.toc-ui-close-btn{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:#16221c0f;color:var(--toc-text-muted);cursor:pointer;transition:background .18s ease,color .18s ease}.toc-ui-close-btn:hover,.toc-ui-close-btn:focus-visible{background:#155a431f;color:var(--toc-accent-strong);outline:none}.toc-ui-popover-anchor{display:inline-flex}.toc-ui-popover{position:fixed;z-index:45;min-width:168px;padding:10px;border:1px solid var(--toc-border);border-radius:18px;background:#fffdf8fa;box-shadow:var(--toc-shadow-float)}.toc-ui-confirm-popover{width:min(280px,calc(100vw - 24px))}.toc-ui-confirm-title{color:var(--toc-text);font-weight:850}.toc-ui-confirm-desc{margin-top:6px;color:var(--toc-text-muted);font-size:13px;line-height:1.55}.toc-ui-confirm-actions,.toc-ui-inline-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toc-ui-confirm-actions{justify-content:flex-end;margin-top:12px}.toc-ui-stack{display:flex;flex-direction:column}.toc-ui-stack-sm{gap:8px}.toc-ui-stack-md{gap:12px}.toc-ui-badge{position:relative;display:inline-flex}.toc-ui-badge-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border:2px solid #fff;border-radius:999px;background:#ef4444}.toc-toast-root{position:fixed;top:16px;left:50%;z-index:60;display:flex;flex-direction:column;gap:8px;pointer-events:none;transform:translate(-50%)}.toc-toast{min-width:180px;max-width:min(90vw,420px);padding:10px 14px;border-radius:14px;color:#fff;box-shadow:var(--toc-shadow-float);font-size:14px;line-height:1.5}.toc-toast-success{background:#237a36}.toc-toast-error{background:var(--toc-danger)}.toc-toast-warning{background:var(--toc-warning)}.toc-toast-info{background:#1d4ed8}@keyframes toc-spin{to{transform:rotate(360deg)}}@keyframes toc-drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes toc-dialog-bottom-sheet-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wechat-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--toc-bg, #f3faf8)}.wechat-login-error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;color:#b42318;background:#fff;font-size:16px}.wechat-auto-login-page{min-height:100vh;display:grid;place-items:center;padding:24px;overflow:hidden;color:#102a25;background:radial-gradient(circle at 50% 0%,rgba(7,193,96,.17),transparent 42%),linear-gradient(155deg,#f7fffb,#edf9f2)}.wechat-auto-login-panel{width:min(100%,360px);padding:42px 32px 36px;text-align:center;border:1px solid rgba(7,193,96,.16);border-radius:28px;background:#ffffffdb;box-shadow:0 22px 60px #165e3e21;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wechat-auto-login-mark{position:relative;display:grid;width:112px;height:112px;margin:0 auto 28px;place-items:center}.wechat-auto-login-pulse{position:absolute;border-radius:50%;background:#07c1601f;animation:wechat-auto-login-pulse 2.2s ease-out infinite}.wechat-auto-login-pulse-outer{width:112px;height:112px}.wechat-auto-login-pulse-inner{width:88px;height:88px;animation-delay:.45s}.wechat-auto-login-icon{position:relative;z-index:1;display:grid;width:64px;height:64px;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(145deg,#1dd774,#07a956);box-shadow:0 12px 24px #07c1604d}.wechat-auto-login-badge{display:inline-flex;padding:5px 10px;border-radius:999px;color:#087b40;background:#e8f8ee;font-size:12px;font-weight:600;letter-spacing:.03em}.wechat-auto-login-panel h1{margin:16px 0 8px;font-size:24px;letter-spacing:-.02em}.wechat-auto-login-panel p{margin:0;color:#5b746b;font-size:14px;line-height:1.7}.wechat-auto-login-progress{height:4px;margin-top:28px;overflow:hidden;border-radius:999px;background:#e5f3ea}.wechat-auto-login-progress span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#07b65d,#44d98e);animation:wechat-auto-login-progress 1.35s ease-in-out infinite}.wechat-auto-login-progress .is-complete{width:100%;animation:none}@keyframes wechat-auto-login-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@keyframes wechat-auto-login-progress{0%{transform:translate(-110%)}to{transform:translate(350%)}}.wechat-login-shell{width:100%;max-width:560px}.wechat-login-card{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--toc-border, #d6e8e3);box-shadow:none}.wechat-login-card-body{padding:40px}.wechat-login-stack{display:flex;flex-direction:column;gap:24px;width:100%;text-align:center}.wechat-login-title{margin:16px 0 6px;color:var(--toc-text, #102a25);font-size:28px;line-height:1.2}.wechat-login-subtitle{color:var(--toc-text-muted, #526b66);line-height:1.6}.wechat-login-state-stack{display:flex;flex-direction:column;align-items:center;gap:8px}.wechat-login-success-text{color:#52c41a}.wechat-login-qrcode{width:248px;height:248px;margin:0 auto;border-radius:20px;border:1px solid var(--toc-border, #d6e8e3);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--toc-bg-soft, #f8fcfb);box-shadow:none}@media (max-width: 640px){.wechat-login-page{padding:16px}.wechat-login-card-body{padding:24px}.wechat-login-qrcode{width:220px;height:220px}.wechat-auto-login-page{padding:16px}.wechat-auto-login-panel{padding:36px 24px 30px}}@media (prefers-reduced-motion: reduce){.wechat-auto-login-pulse,.wechat-auto-login-progress span{animation:none}}
