.ed-fab{position:fixed;right:22px;bottom:22px;z-index:200;background:var(--accent-grad);color:var(--ink);border:none;border-radius:8px;height:var(--h-ctl,36px);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13.5px;line-height:1;cursor:pointer;opacity:.88;box-shadow:0 6px 18px -8px rgba(0,0,0,.6);font-family:var(--font-sans);transition:opacity .2s ease,scale .2s ease}
.ed-fab:hover{opacity:1}
.ed-fab:active{scale:.95}
.ed-bar{position:sticky;top:84px;z-index:60;display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:11px 14px;margin-bottom:16px;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;box-shadow:0 8px 20px -10px rgba(0,0,0,.8)}
.ed-bar .ttl{color:var(--accent);font-size:14px;font-weight:800;margin-right:auto}
.ed-btn{font-family:var(--font-sans);font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:9px;border:1px solid var(--border2);background:var(--panel);color:var(--text);cursor:pointer}
.ed-btn:hover{border-color:var(--accent)}
.ed-btn.primary{background:var(--accent);color:var(--ink);border-color:transparent}
.ed-btn.primary:hover{background:var(--accent2)}
.ed-btn.danger{color:var(--accent2);border-color:var(--accent-line)}
.ed-sec{position:relative;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px;background:var(--panel)}
.ed-sechead{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.ed-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}
.ed-row textarea{flex:1;min-height:0;height:auto;overflow:hidden;font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--text);background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;resize:vertical;box-sizing:border-box}
.ed-row textarea:focus,.ed-sechead input:focus{outline:none;border-color:var(--accent)}
.ed-row textarea.sub{border-left:3px solid var(--accent);font-weight:700}
.ed-sechead input{flex:1;min-width:180px;font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--text);background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:9px 11px}
.ed-mini{flex:none;min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--dim);cursor:pointer;font-size:13px;line-height:1;font-family:var(--font-sans)}
.ed-mini:hover{color:var(--accent);border-color:var(--accent)}
.ed-mini.del:hover{color:var(--accent2);border-color:var(--accent-line)}
.ed-catrow{display:flex;gap:5px;align-items:center;margin-bottom:6px}
.ed-catrow input{flex:1;min-width:0;font-family:var(--font-sans);font-size:13.5px;padding:7px 9px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--text)}
.ed-catrow.active input{border-color:var(--accent);color:var(--accent);font-weight:700}
.ed-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}
.ed-card{background:var(--bg);border:1px solid var(--border2);border-radius:14px;padding:22px;max-width:540px;width:100%;max-height:85vh;overflow:auto}
.ed-card h3{margin:0 0 6px;font-size:17px}
.ed-card label{display:block;font-size:13px;color:var(--dim);margin:14px 0 5px}
.ed-card input[type=text],.ed-card input[type=url]{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border);background:var(--panel2);color:var(--text);font-family:var(--font-sans);font-size:14px}
.ed-card input[type=color]{width:56px;height:34px;padding:2px;border-radius:8px;border:1px solid var(--border);background:var(--panel2)}
.ed-bk{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;margin-bottom:7px;font-size:13px;color:var(--dim)}
.ed-hint{font-size:12.5px;color:var(--mute);margin:4px 0 10px;line-height:1.6}
.rc-imgwrap{margin:10px 0}
.rc-img{max-width:min(100%,380px);height:auto;border-radius:10px;border:1px solid var(--border);display:block;background:#fff}
.rc-imgbad{display:inline-block;padding:9px 13px;border:1px dashed var(--border2);border-radius:9px;color:var(--mute);font-size:13px}
.ed-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:26px;z-index:400;background:var(--panel2);border:1px solid var(--accent);color:var(--text);padding:11px 20px;border-radius:10px;font-weight:700;font-size:14px}
body.ed-on .side-subs{margin-bottom:10px}
.ed-sublink{cursor:pointer;color:var(--dim)}
.ed-sublink:hover{color:var(--text);background:var(--panel)}
.ed-sublink.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.ed-mini.pen{min-width:auto;padding:0 10px;font-size:12.5px;font-weight:700}
.rc-cols{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:start}
.rc-cols.rc-left{grid-template-columns:auto minmax(0,1fr)}
.rc-cols.rc-left .rc-side{order:-1}
.rc-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px;align-self:start}
.rc-side .rc-img{max-width:none}
@media(max-width:900px){.rc-cols,.rc-cols.rc-left{grid-template-columns:minmax(0,1fr)}.rc-cols.rc-left .rc-side{order:0}.rc-side{position:static}.rc-side .rc-img{max-width:100%;width:auto!important}}
.ed-imgbox{flex:1;min-width:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:11px 13px}
.ed-thumb{width:74px;height:74px;object-fit:contain;border-radius:8px;border:1px solid var(--border);background:#fff;flex:none}
.ed-imgctl{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.ed-fld{display:flex;flex-direction:column;gap:4px}
.ed-lbl{font-size:12px;color:var(--mute)}
.ed-imgctl select,.ed-imgctl input{font-family:var(--font-sans);font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:7px 9px}
.ed-imgctl input{width:110px}
.ed-imgctl select:focus,.ed-imgctl input:focus{outline:none;border-color:var(--accent)}
.ed-cols{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start}
.ed-cols.ed-left{grid-template-columns:auto minmax(0,1fr)}
.ed-cols.ed-left .ed-sidebox{order:-1}
.ed-sidebox{display:flex;flex-direction:column;gap:14px}
.ed-prev{position:relative;transition:transform .04s linear}
.ed-prev.dragging{opacity:.85;z-index:60}
.ed-previmg{max-width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--border2);background:#fff;cursor:grab;touch-action:none;user-select:none}
.ed-prev.dragging .ed-previmg{cursor:grabbing;box-shadow:0 0 0 2px var(--accent)}
.ed-prevtip{margin-top:6px;text-align:center;font-size:12px;color:var(--mute)}
.ed-prev.dragging .ed-prevtip{color:var(--accent)}
.ed-drop{position:absolute;top:0;bottom:0;width:46%;border:2px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,transparent);pointer-events:none;z-index:50}
.ed-drop.l{left:6px}
.ed-drop.r{right:6px}
.ed-thumb-side{opacity:.55}
@media(max-width:900px){.ed-cols,.ed-cols.ed-left{grid-template-columns:minmax(0,1fr)}.ed-cols.ed-left .ed-sidebox{order:0}}


.ed-grip{flex:none;width:26px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:15px;line-height:1;cursor:grab;border-radius:7px;user-select:none;touch-action:none}
.ed-grip:hover{color:var(--accent);background:var(--panel2)}
.ed-grip:active{cursor:grabbing}
.ed-catitem{margin-bottom:6px}
.ed-catrow{margin-bottom:0}
.ed-catrow .ed-grip{width:22px;height:28px;font-size:13px}
.ed-subrow{display:flex;align-items:center;gap:3px;margin-bottom:2px}
.ed-subrow .ed-grip{width:18px;height:24px;font-size:11px}
.ed-subrow .ed-sublink{flex:1;min-width:0;padding:5px 9px}
.ed-sec .ed-sechead .ed-grip{width:26px;height:32px}
.ed-dragging{opacity:.45;outline:2px dashed var(--accent);outline-offset:2px;border-radius:9px}
.ed-catitem.ed-dragging,.ed-sec.ed-dragging{opacity:.5}
.ed-rows{display:flex;flex-direction:column}
.ed-seclist{display:flex;flex-direction:column}
body.ed-dragon{user-select:none;cursor:grabbing}
body.ed-dragon .ed-grip{cursor:grabbing}
.ed-btn,.ed-fab,.ed-mini{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.ed-mini.wide{min-width:auto;padding:0 11px;font-size:12.5px;font-weight:700;white-space:nowrap}
.ed-mini.pen{min-width:32px;padding:0 8px}
.ed-sublink::before{display:none}
.ed-sublink{padding-left:9px!important;border-radius:var(--r-sm)!important;box-shadow:none!important}
