/* Local extension of DESIGN.md. Icons: Lucide (ISC), see vendor/LUCIDE-LICENSE.txt. */
.site-tools{--tools-ink:#192637;--tools-muted:#596a7f;--tools-blue:#2155d9;position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;color:var(--tools-ink);font:14px/1.65 "Noto Sans SC","Microsoft YaHei",sans-serif;text-align:left}
.site-tools *{box-sizing:border-box}.site-tools[hidden],.site-tools [hidden]{display:none!important}
.site-tools ::selection{background:#dce8ff;color:#173b83}
.site-tools button,.site-tools a,.site-tools input{font:inherit;letter-spacing:normal}
.site-tools button{cursor:pointer}.site-tools button:disabled{cursor:wait;opacity:.65}
.site-tools svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-tools :is(button,a,input):focus-visible{outline:3px solid #2155d9;outline-offset:4px}
.site-tools-actions{display:flex;flex-direction:column;gap:10px}
.site-tools .site-tools-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:64px;height:66px;padding:6px;border:0;border-radius:12px;background:#fff;color:var(--tools-ink);box-shadow:0 4px 20px #19263724;font-size:12px;font-weight:650;transition:background-color 160ms ease,color 160ms ease}
.site-tools .site-tools-trigger:hover,.site-tools .site-tools-trigger[aria-expanded=true]{background:#eaf0ff;color:#183fa8}
.site-tools .site-tools-contact{background:var(--tools-blue);color:#fff}
.site-tools .site-tools-contact:hover,.site-tools .site-tools-contact[aria-expanded=true]{background:#183fa8;color:#fff}
.site-tools-panel{position:absolute;right:78px;bottom:0;width:336px;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:24px;border:0;border-radius:16px;background:#fff;box-shadow:0 12px 48px #19263730;scrollbar-width:thin;scrollbar-color:#a8b5c5 #f6f7f9;animation:site-tools-open 180ms cubic-bezier(.16,1,.3,1)}
.site-tools-panel header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:0;background:none;border:0}
.site-tools-panel h2{margin:0;color:var(--tools-ink);font-size:20px;line-height:1.4;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
.site-tools-panel h2:focus{outline:none}
.site-tools .site-tools-close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:-10px -12px -10px 0;padding:0;border:0;border-radius:8px;color:var(--tools-muted);background:transparent}
.site-tools .site-tools-close:hover{background:#f1f3f5;color:var(--tools-ink)}
.site-tools-panel p{margin:0 0 16px;font-size:14px;line-height:1.75;color:var(--tools-muted)}
.site-tools-shortcut{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 0 12px;color:var(--tools-muted)}
.site-tools-shortcut kbd{display:grid;place-items:center;min-width:52px;height:48px;padding:0 12px;border:1px solid #dbe1e7;border-bottom-width:3px;border-radius:8px;background:#f7f8fa;color:var(--tools-ink);font:600 20px/1 "Noto Sans SC","Microsoft YaHei",sans-serif}
.site-tools-panel .site-tools-instruction{text-align:center;margin-bottom:24px;color:var(--tools-ink)}
.site-tools-url-label{display:block;margin:0 0 8px;font-size:12px;color:var(--tools-muted)}
.site-tools .site-tools-url{display:block;width:100%;height:46px;margin:0 0 10px;padding:0 12px;border:1px solid #dbe1e7;border-radius:8px;background:#f7f8fa;color:var(--tools-ink);font-size:16px;caret-color:var(--tools-blue)}
.site-tools .site-tools-primary,.site-tools .site-tools-secondary{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;margin:0 0 12px;padding:10px 14px;border:0;border-radius:8px;background:var(--tools-blue);color:#fff;text-decoration:none;text-align:center;font-weight:650;line-height:1.5}
.site-tools .site-tools-primary:hover{background:#183fa8}
.site-tools .site-tools-secondary{background:#edf3ff;color:#183fa8}
.site-tools .site-tools-secondary:hover{background:#dce8ff}
.site-tools-qr{margin:20px 0 16px;text-align:center}
.site-tools-qr img{display:block;width:220px;max-width:100%;height:auto;margin:0 auto;object-fit:contain;background:#fff}
.site-tools-qr figcaption{margin-top:12px;color:var(--tools-muted);font-size:12px}
.site-tools-account{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;margin:0 0 16px;border-top:1px solid #dfe3e9;border-bottom:1px solid #dfe3e9}
.site-tools-account span{display:block;font-size:12px;color:var(--tools-muted)}
.site-tools-account strong{display:block;font-size:18px;font-weight:650;color:var(--tools-ink)}
.site-tools-account button{flex:none;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:#edf3ff;color:#183fa8;font-size:13px;font-weight:600}
.site-tools-account button:hover{background:#dce8ff}
.site-tools-panel .site-tools-note{margin:12px 0;font-size:12px;line-height:1.75}
.site-tools-help{display:inline-flex;align-items:center;min-height:44px;color:#183fa8;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.site-tools-panel .site-tools-feedback{margin:8px 0 0;color:#183fa8;font-size:13px;overflow-wrap:anywhere}
.site-tools-feedback:empty{display:none}
body:has(.site-tools:not([hidden])) .site-footer{padding-bottom:110px}
@keyframes site-tools-open{from{transform:translateY(6px);clip-path:inset(0 0 5% 0 round 16px)}to{transform:translateY(0);clip-path:inset(0 0 0 0 round 16px)}}
@media(max-width:640px){
 .site-tools{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 .site-tools-actions{flex-direction:row;gap:8px}
 .site-tools .site-tools-trigger{flex-direction:row;gap:7px;width:auto;min-width:82px;height:48px;padding:0 14px;font-size:13px}
 .site-tools .site-tools-trigger svg{width:20px;height:20px}
 .site-tools-panel{right:0;bottom:60px;width:min(336px,calc(100vw - 32px - env(safe-area-inset-right)));max-height:calc(100dvh - 108px - env(safe-area-inset-bottom));padding:22px}
}
@media(prefers-reduced-motion:reduce){.site-tools-panel{animation:none}.site-tools .site-tools-trigger{transition:none}}
