/* lifeinjapan —— fx-widget.css（汇率小工具）
   由 ~/.workbuddy/skills/lifeinjapan-site-check/extract-css.py 从内联 <style> 抽取。
   改设计系统只改这里，不要改回各页面的内联样式。 */
.fx-pill{position:fixed;top:14px;right:14px;z-index:900;background:#4a6fa5;border:1px solid #3d5e8f;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;color:#fff;box-shadow:0 4px 14px rgba(74,111,165,.4),0 2px 4px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit;line-height:1.4;transition:top .3s ease,box-shadow .15s,transform .15s;animation:fx-pulse 1.6s ease .8s 2}
.fx-pill:hover{box-shadow:0 6px 20px rgba(74,111,165,.5);transform:translateY(-1px)}
@keyframes fx-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.fx-pill{animation:none}}
.fx-ico{flex-shrink:0}
.fx-label{flex-shrink:0;opacity:.95;border-right:1px solid rgba(255,255,255,.45);padding-right:8px}
.fx-title-ico{vertical-align:-3px;margin-right:6px}
.fx-ticker{transition:opacity .35s;white-space:nowrap}
.fx-ticker.fx-fade{opacity:0}
.fx-mask{position:fixed;inset:0;background:rgba(45,45,63,.35);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.fx-mask.fx-open{display:flex}
.fx-modal{background:#fff;border-radius:12px;padding:22px 24px;width:100%;max-width:340px;box-shadow:0 12px 40px rgba(0,0,0,.18);color:#2d2d3f;text-align:left}
.fx-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.fx-modal-head h2{font-size:16px;margin:0;color:#4a6fa5;border:none;padding:0}
.fx-close{background:none;border:none;font-size:22px;cursor:pointer;color:#8c8c99;line-height:1;padding:2px 6px}
.fx-close:hover{color:#c44d4d}
.fx-modal label{display:block;font-size:12px;font-weight:700;color:#4a6fa5;margin:10px 0 4px}
.fx-modal input,.fx-modal select{width:100%;padding:10px 12px;border:1px solid #e8e4df;border-radius:6px;font-size:14px;font-family:inherit;background:#fafaf8;color:#2d2d3f;box-sizing:border-box}
.fx-modal input:focus,.fx-modal select:focus{outline:none;border-color:#4a6fa5}
.fx-result{margin-top:14px;padding:13px;background:#f5f2ed;border-radius:8px;font-size:16px;font-weight:700;color:#c44d4d;text-align:center;min-height:22px}
.fx-note{margin:10px 0 0;font-size:11px;color:#8c8c99;text-align:center;line-height:1.6}
@media(max-width:640px){.fx-pill{top:64px;right:10px;padding:9px 14px;font-size:12px}.fx-pill.fx-docked{top:10px}}
