.fsf-edit-launch { position:fixed; z-index:90; right:18px; bottom:18px; padding:10px 16px; border:1px solid #f0c963; border-radius:999px; background:#081a2c; color:#f4d175; box-shadow:0 8px 30px #0008; font-weight:800; cursor:pointer; }
.fsf-edit-panel { position:fixed; z-index:91; top:12px; right:12px; bottom:12px; width:min(360px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; padding:18px; border:1px solid #d9b757; border-radius:16px; background:#081827; color:#f6f8fb; box-shadow:0 18px 70px #000c; font:14px/1.4 Inter,system-ui,sans-serif; }
.fsf-edit-panel[hidden],.fsf-edit-launch[hidden] { display:none!important; }
.fsf-edit-panel header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.fsf-edit-panel .fsf-panel-grip { position:sticky; top:-18px; z-index:1; padding:8px 0; background:#081827; cursor:grab; touch-action:none; user-select:none; }
.fsf-edit-panel .fsf-panel-grip.dragging { cursor:grabbing; }
.fsf-edit-panel .fsf-panel-grip:focus-visible { outline:2px solid #f0c963; outline-offset:2px; }
.fsf-edit-panel .fsf-panel-grip button { cursor:pointer; touch-action:auto; }
body.fsf-page-editing::before { content:""; position:fixed; inset:0; z-index:80; background:#0004; pointer-events:none; }
body.fsf-page-editing .page-shell :is(input,select,textarea) { pointer-events:none; }
.fsf-edit-panel h2 { margin:0; font-size:1.2rem; }
.fsf-edit-panel h3 { margin:18px 0 8px; font-size:.9rem; color:#f2d374; }
.fsf-edit-panel p { margin:0 0 12px; color:#b8c5d3; font-size:.84rem; }
.fsf-edit-panel label { display:grid; gap:5px; margin:10px 0; font-weight:700; }
.fsf-edit-panel input,.fsf-edit-panel select,.fsf-edit-panel textarea { width:100%; min-height:38px; padding:7px 9px; border:1px solid #52677b; border-radius:8px; background:#06111d; color:#fff; font:inherit; }
.fsf-edit-panel input[type=range] { padding:0; accent-color:#e8bd55; }
.fsf-edit-panel input[type=file] { font-size:.78rem; }
.fsf-edit-panel button { min-height:36px; padding:7px 11px; border:1px solid #667a8d; border-radius:8px; background:#112b44; color:#fff; font-weight:750; cursor:pointer; }
.fsf-edit-panel header button { min-width:36px; font-size:1.2rem; }
.fsf-edit-panel .fsf-edit-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.fsf-edit-panel .fsf-publish { color:#071421; background:#e8bd55; border-color:#e8bd55; }
.fsf-edit-panel .fsf-edit-actions button:disabled { opacity:.5; cursor:wait; }
.fsf-edit-panel output { color:#f2d374; font-weight:700; }
.fsf-edit-panel .fsf-edit-status { min-height:2em; color:#8ee4b7; }
.fsf-edit-panel .fsf-edit-status[data-error] { color:#ffabab; }
.fsf-edit-panel .fsf-rank-tools[hidden],.fsf-edit-panel [hidden] { display:none!important; }
.fsf-edit-panel .fsf-rank-tools { margin:4px 0 18px; padding:0 0 16px; border-bottom:1px solid #52677b; }
.fsf-edit-panel .fsf-rank-tools h3 { margin-top:4px; }
.fsf-edit-panel .public-rank-edit-bar { display:grid; gap:10px; padding:10px; border:1px solid #52677b; border-radius:10px; background:#0b2135; }
.fsf-edit-panel .public-rank-edit-bar > div:first-child { gap:4px; }
.fsf-edit-panel .public-rank-edit-bar .public-rank-edit-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.fsf-edit-panel .public-rank-edit-actions button { width:100%; min-height:36px; font-size:.78rem; }
.fsf-edit-selected { outline:2px dashed #e8bd55!important; outline-offset:3px; }
.fsf-edit-word { outline:1px dashed #f0c963; outline-offset:3px; cursor:text!important; }
.fsf-heading-selected { outline:2px solid #f0c963!important; outline-offset:3px; }
body:has(.fsf-edit-panel:not([hidden])) .page-shell :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,button,th,td,label,a,li):hover { outline:1px dashed #f0c963; outline-offset:2px; cursor:text; }
.fsf-drag-handle { position:fixed; z-index:90; width:32px; height:32px; padding:0; border:1px solid #f1ce72; border-radius:8px; background:#071929; color:#f1ce72; box-shadow:0 3px 15px #0009; font:900 22px/1 Inter,system-ui,sans-serif; cursor:grab; touch-action:none; }
.fsf-drag-handle.dragging { cursor:grabbing; background:#e8bd55; color:#071929; }
.fsf-drag-handle[hidden] { display:none!important; }
.fsf-inline-editor { position:fixed; z-index:94; width:min(292px,calc(100vw - 16px)); padding:12px; border:1px solid #f1ce72; border-radius:10px; background:#081827; color:#fff; box-shadow:0 12px 38px #000c; font:14px Inter,system-ui,sans-serif; }
.fsf-inline-editor label { display:grid; gap:7px; font-weight:800; }
.fsf-inline-editor input { width:100%; min-height:40px; padding:8px 10px; border:1px solid #718293; border-radius:7px; background:#06111d; color:#fff; }
.fsf-inline-editor textarea { width:100%; min-height:82px; padding:8px 10px; border:1px solid #718293; border-radius:7px; background:#06111d; color:#fff; font:inherit; resize:vertical; }
.fsf-inline-editor div { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.fsf-inline-editor button { min-height:34px; padding:6px 12px; border:1px solid #718293; border-radius:7px; background:#17324b; color:#fff; cursor:pointer; }
.fsf-inline-editor button:first-child { background:#e8bd55; border-color:#e8bd55; color:#071421; font-weight:800; }
@media(max-width:640px) { .fsf-edit-panel { top:auto; max-height:min(82dvh,720px); } .fsf-edit-launch { bottom:12px; right:12px; } }
