.ft-drop{border:2px dashed var(--accent);border-radius:var(--radius-lg);text-align:center;background:var(--surface);cursor:pointer;padding:30px 16px;font-weight:800;transition:background .15s,box-shadow .15s}.ft-drop:hover{box-shadow:var(--shadow-sm)}.ft-drop.drag{background:var(--mint)}.ft-drop small{color:var(--muted);margin-top:7px;font-weight:700;display:block}.ft-controls{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:14px;display:flex}.ft-controls label{color:var(--ink);margin-bottom:5px;font-size:12px;font-weight:850;display:block}.ft-grp{flex:1;min-width:150px}.ft-grp select,.ft-grp input[type=number]{font:inherit;border-radius:var(--radius-sm);background:#fbfdf9;border:1px solid #cad9c7;outline:none;width:100%;padding:9px 10px}.ft-grp input[type=range]{width:100%;accent-color:var(--accent)}.ft-bar{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.ft-bar .count{color:var(--muted);font-size:13px;font-weight:800}.ft-bar button{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:850}.ft-list{margin:0 0 8px;padding:0;list-style:none}.ft-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:8px;padding:9px 11px;transition:box-shadow .12s,border-color .12s;display:flex}.ft-list li:hover{border-color:var(--ink);box-shadow:4px 4px 0 var(--mint)}.ft-list li.dragging{opacity:.45}.ft-list li img{object-fit:cover;border:1px solid var(--line);background:#eef2f0;border-radius:6px;flex:none;width:46px;height:46px}.ft-grip{cursor:grab;color:#c7cdd6;-webkit-user-select:none;user-select:none;font-size:16px}.ft-meta{flex:1;min-width:0}.ft-meta .name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;overflow:hidden}.ft-meta .sub{color:var(--muted);margin-top:2px;font-size:12px;font-weight:700}.ft-range{width:120px;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfdf9;padding:6px 8px;font-size:12px}.ft-range.bad{border-color:var(--primary);background:#fff5f5}.ft-badge{border-radius:var(--radius-full);padding:2px 9px;font-size:12px;font-weight:900}.ft-badge.good{background:var(--mint);color:#17645d}.ft-badge.bad{color:#9a2518;background:#ffe4e0}.ft-badge.warn{color:#8a5a00;background:#fff3d6}.ft-icon,.ft-dl{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);background:#fdfefb;padding:6px 10px;font-weight:850}.ft-icon:hover,.ft-dl:hover{border-color:var(--accent)}.ft-icon:disabled,.ft-dl:disabled{opacity:.4;cursor:not-allowed}.ft-mochi{border:2px solid var(--ink);border-radius:var(--radius);box-shadow:5px 5px 0 var(--mint);background:linear-gradient(145deg,#ffe6a6b3,#0000 46%),#f9fbf6;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;font-size:14px;font-weight:850;line-height:1.5;display:none}.ft-mochi.show{display:flex}.ft-note{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700}
