.fz-preview{position:relative;border:2px solid transparent;border-radius:16px;padding:14px;margin:22px 0;background:linear-gradient(#fdfdfd,#fdfdfd) padding-box,linear-gradient(135deg,#ff3b30,#ff9500,#ffcc00,#34c759,#00c7be,#007aff,#5856d6,#af52de,#ff2d55) border-box;box-shadow:0 8px 26px rgba(0,0,0,.07)}
.fz-preview *{box-sizing:border-box}
.fz-title{text-align:center;font-size:24px;font-weight:800;letter-spacing:1px;margin:4px 0 14px;background:linear-gradient(90deg,#ff3b30,#ff9500,#ffcc00,#34c759,#00c7be,#007aff,#5856d6,#af52de,#ff2d55);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.fz-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.fz-bar input[type=text]{flex:1;min-width:240px;height:36px;padding:0 12px;border:1.5px solid #ff6a00;border-radius:8px;font-size:15px;line-height:36px}
.fz-size{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;white-space:nowrap;height:36px}
.fz-size input[type=range]{width:130px;vertical-align:middle}
.fz-size b{display:inline-block;min-width:26px;text-align:center}
.fz-stage{font-size:56px;line-height:1.6;min-height:96px;padding:16px;border-radius:8px;background:#fff;color:#111;word-break:break-word;transition:.2s;margin-bottom:12px}
.fz-stage.fz-dark{background:#111}
.fz-bar2{gap:12px;row-gap:10px}
.fz-colors{display:flex;gap:6px;align-items:center;height:36px}
.fz-sw{width:24px;height:24px;padding:0;border:1px solid #d5d5d5;border-radius:50%;cursor:pointer;display:inline-block;position:relative}
.fz-sw.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #ff6a00}
.fz-sw-custom{display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.fz-sw-custom input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}
.fz-right{display:flex;gap:12px;align-items:center;margin-left:auto;height:36px}
.fz-styles{display:flex;gap:6px;align-items:center;height:36px}
.fz-st-btn{width:34px;height:34px;line-height:1;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:15px;color:#333;display:inline-flex;align-items:center;justify-content:center;padding:0}
.fz-st-btn.on{border-color:#ff6a00;color:#ff6a00;background:#fff6f0}
.fz-bar .plain{height:34px;padding:0 12px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:12.5px;color:#333;display:inline-flex;align-items:center;line-height:1;white-space:nowrap}
.fz-ot{position:relative;height:34px;display:flex;align-items:center}
.fz-ot-toggle{height:34px;padding:0 12px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:12.5px;color:#333;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fz-ot-toggle:hover{border-color:#ff6a00;color:#ff6a00}
.fz-ot-cnt{font-style:normal;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;background:#ff6a00;color:#fff;font-size:11px;padding:0 5px}
.fz-ot-caret{font-size:10px;color:#999;transition:.2s}
.fz-ot.open .fz-ot-caret{transform:rotate(180deg)}
.fz-ot-panel{display:none;position:absolute;z-index:30;top:40px;right:0;min-width:300px;max-width:100%;padding:10px;background:#fff;border:1px solid #e2e2e2;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.10);grid-template-columns:1fr 1fr;gap:6px 12px}
.fz-ot.open .fz-ot-panel{display:grid}
.fz-ot-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#444;cursor:pointer;padding:3px 2px;white-space:nowrap}
.fz-ot-item input{accent-color:#ff6a00}
.fz-tip{font-size:12px;color:#999}
@media (max-width:600px){.fz-ot-panel{grid-template-columns:1fr}}
/* ---------- 手机端适配 ---------- */
@media (max-width:640px){
  .fz-preview{padding:12px;border-radius:14px;overflow:hidden}
  .fz-title{font-size:19px;margin:2px 0 10px}
  .fz-bar{gap:8px;margin-bottom:8px}
  .fz-bar input[type=text]{min-width:0;width:100%;flex:1 1 100%;height:34px;font-size:14px;padding:0 10px;line-height:34px}
  .fz-size{height:auto;font-size:12px}
  .fz-size input[type=range]{width:110px}
  .fz-stage{padding:12px;margin-bottom:10px;border-radius:8px}
  .fz-bar2{gap:8px;row-gap:8px}
  .fz-colors{flex-wrap:wrap;height:auto;gap:6px}
  .fz-right{flex-wrap:wrap;margin-left:0;height:auto;gap:8px;justify-content:flex-end}
  .fz-styles{height:auto}
  .fz-st-btn{width:32px;height:32px}
  .fz-bar .plain{height:32px;padding:0 10px;font-size:12px}
  .fz-ot{height:auto;max-width:100%}
  .fz-ot-toggle{height:32px;padding:0 10px;font-size:12px}
  .fz-ot-panel{right:0;left:auto;top:38px;min-width:0;width:min(86vw,300px);max-width:86vw}
  .fz-ot-item{font-size:12px}
  .fz-tip{font-size:11px}
}
