.zxf{--zxf-primary:#2563eb;--zxf-bg:#fff;--zxf-card:#f8fafc;--zxf-fg:#1f2937;--zxf-accent:#ffcd00;--zxf-r:14px;position:relative;overflow:hidden;max-width:min(760px,100%);width:100%;margin:16px auto;padding:22px 20px;background:var(--zxf-bg);color:var(--zxf-fg);border:1px solid #e5e7eb;border-top:3px solid var(--zxf-accent);border-radius:var(--zxf-r);box-shadow:0 6px 24px rgba(15,23,42,.06);font-family:inherit;line-height:1.9;box-sizing:border-box;-webkit-text-size-adjust:100%}
.zxf,.zxf *{box-sizing:border-box;min-width:0}
.zxf img{max-width:100%}
.zxf h3{color:var(--zxf-fg);margin:0 0 6px;font-size:20px;font-weight:700}
.zxf h4{color:var(--zxf-fg);margin:18px 0 8px;font-size:15px;font-weight:700}
.zxf p{margin:0 0 12px;color:#1f2937;font-size:14px}
.zxf label{display:block;font-size:13px;color:#1f2937;font-weight:600;margin-bottom:2px}
.zxf input[type=text],.zxf input[type=tel],.zxf input[type=email],.zxf textarea{display:block;width:100%;max-width:100%;background:#fff;color:var(--zxf-fg);border:1px solid #d1d5db;border-radius:calc(var(--zxf-r) - 4px);padding:11px 13px;font-family:inherit;font-size:16px;margin:4px 0 12px;transition:border-color .15s,box-shadow .15s}
.zxf input:focus,.zxf textarea:focus{outline:0;border-color:var(--zxf-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.zxf .zxf-btn{background:var(--zxf-primary);color:#fff;border:1px solid var(--zxf-primary);border-radius:calc(var(--zxf-r) - 4px);padding:10px 20px;font-weight:600;cursor:pointer;font-family:inherit;font-size:14px;margin:4px 0 4px 6px;transition:filter .15s,background .15s}
.zxf .zxf-btn:hover{filter:brightness(.93)}
.zxf .zxf-btn.ghost{background:#fff;color:var(--zxf-primary)}
.zxf .zxf-btn.ghost:hover{background:#eff6ff;filter:none}
.zxf .zxf-btn.ghost.sel{background:var(--zxf-primary);color:#fff}
.zxf .zxf-btn.no{background:#f3f4f6;color:#374151;border-color:#e5e7eb}
.zxf .zxf-btn.sm{padding:5px 14px;font-size:13px}
.zxf .zxf-btn[disabled]{opacity:.55;cursor:default}
.zxf-card{background:var(--zxf-card);border:1px solid #e5e7eb;border-radius:var(--zxf-r);padding:16px;margin:12px 0}
.zxf-tag{display:inline-block;border-radius:20px;padding:1px 12px;font-size:12px;font-weight:700}
.zxf-row{display:flex;gap:12px;align-items:center}
.zxf-row img{width:64px;height:64px;flex:none;object-fit:cover;border-radius:10px;background:#fff;border:1px solid #e5e7eb}
.zxf-kv{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e5e7eb;padding:4px 0;font-size:14px}
.zxf-kv span:first-child{color:#374151}
.zxf-msg{background:#fff;border:1px solid #e5e7eb;border-right:3px solid var(--zxf-primary);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.zxf-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:8px 12px;margin:8px 0;font-size:14px}
.zxf-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:10px;padding:10px 12px;margin:8px 0;font-size:14px}
.zxf-bub{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px 12px;margin:8px 0;max-width:92%;font-size:14px;word-break:break-word}
.zxf-bub.mine{background:#eff6ff;border-color:#bfdbfe;margin-inline-start:auto}
.zxf-bub small{color:#374151}
.zxf small{color:#374151}
.zxf-rate,.zxf-rated{margin-top:6px;padding-top:6px;border-top:1px dashed #e5e7eb}
.zxf-ratebox{margin-top:6px}
.zxf-ratebox textarea{margin-bottom:6px!important}
.zxf-hp{position:absolute!important;top:0;right:0;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.zxf-intro{white-space:pre-line}
.zxf-results h4{margin-top:22px}
@media(max-width:600px){.zxf{padding:16px 14px;margin:8px 0;border-radius:calc(var(--zxf-r) - 2px)}.zxf-row img{width:52px;height:52px}.zxf h3{font-size:18px}.zxf .zxf-btn{width:100%;margin:4px 0}.zxf .zxf-btn.sm{width:auto}}

.zxf-note{margin-top:8px;font-size:13px;color:#111827;font-weight:500}
.zxf-tabs{display:flex;gap:6px;margin:10px 0 14px;background:#f1f5f9;border-radius:12px;padding:4px}
.zxf-tabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:9px 8px;font-family:inherit;font-size:14px;font-weight:600;color:#374151;cursor:pointer}
.zxf-tabs button.on{background:#fff;color:#111827;box-shadow:0 1px 4px rgba(15,23,42,.12)}
.zxf-loading{display:flex;justify-content:center;padding:18px 0}
.zxf-spin{width:22px;height:22px;border:3px solid #dbeafe;border-top-color:var(--zxf-primary);border-radius:50%;animation:zxfspin .7s linear infinite;display:inline-block}
.zxf .zxf-btn.busy{position:relative;color:transparent!important;pointer-events:none}
.zxf .zxf-btn.busy:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border:2px solid rgba(255,255,255,.9);border-top-color:transparent;border-radius:50%;animation:zxfspin .7s linear infinite}
.zxf .zxf-btn.ghost.busy:after,.zxf .zxf-btn.no.busy:after{border-color:var(--zxf-primary);border-top-color:transparent}
@keyframes zxfspin{to{transform:rotate(360deg)}}
